Remix 版本: v1.14.1
Remix 中的丰富经验
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 开发任务。
关注公踪号 进二开物
,更多 JS/TS/CSS/Rust 技术文章和科技资讯...