通过示例讲解Remix 设计哲学理念
作者:乔治_x
这篇文章主要为大家通过示例讲解了Remix 设计哲学理念,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
Remix 中的丰富经验
Remix 版本: v1.14.1
Remix philosophy 阅读过程中感受最深的一个词 经验丰富,使用一个 map 数据结构来表示:
let remixPhilosophy = Map({ 1: '开发经验丰富', 2: '培训经验丰富', 3:'开源经验丰富' })
遵循 web 客观发展
客观发展点用一个 map 数据结构表示:
let rich_experience = Map({ 1: '遵循 S/C 模型', 2: '遵循 Web 标准', 3: '遵循渐进式增强', 4: '不过渡抽象', })
遵循 S/C 模型
Remix 将前端统一到一个 Route Module 里面,但是依然遵循 S/C 模型:
- loader 前端端数据描述:
let sc_remix_router = { fe: 'useLoaderData_hook', be: 'export_loader_async_fn' }
- action 前后端数据描述:
let sc_remix_router = { fe: 'useActionData_hook', be: 'export_action_async_fn' }
遵循 Web 标准
遵循 web 标准发展描述:
let web = { 'support': ['web_standard', 'http', 'html'], 'examples': ['fetch_api', 'link_tag', 'meta_tag', 'form'] }
渐进式
在原有的 html 基础上,做 css/javascript/from/异步数据等功能增强
let enhance = { can_no_css_or_javascript: true, can_on_layout_data: true, can_no_loading: true, data_CRUD: true }
不做过度抽象
remix 由于有教育经验,对过度的抽象是敏感的,很明显是过度抽象不利于初学者。例如引入 css 依然使用 link 来引入,不同的是:从 link 标签,变成输出一个 link 函数。
let define_link_example = { html: 'link_tag', remix: 'export_link_fn' }
小结
remix 由于多年的开发和培训以及开源经验,开发一套遵循 Web 标准和 S/C 模型的渐进式的全栈框架。Remix 的路由模块结构简单清晰,能方便快捷的完成 web 开发任务。
以上就是通过示例讲解Remix 设计哲学理念的详细内容,更多关于Remix 设计哲学理念的资料请关注脚本之家其它相关文章!