通過示例講解Remix?設計哲學理念
Remix 中的豐富經(jīng)驗
Remix 版本: v1.14.1
Remix philosophy 閱讀過程中感受最深的一個詞 經(jīng)驗豐富,使用一個 map 數(shù)據(jù)結構來表示:
let remixPhilosophy = Map({
1: '開發(fā)經(jīng)驗豐富',
2: '培訓經(jīng)驗豐富',
3:'開源經(jīng)驗豐富'
})
遵循 web 客觀發(fā)展
客觀發(fā)展點用一個 map 數(shù)據(jù)結構表示:
let rich_experience = Map({
1: '遵循 S/C 模型',
2: '遵循 Web 標準',
3: '遵循漸進式增強',
4: '不過渡抽象',
})
遵循 S/C 模型
Remix 將前端統(tǒng)一到一個 Route Module 里面,但是依然遵循 S/C 模型:
- loader 前端端數(shù)據(jù)描述:
let sc_remix_router = {
fe: 'useLoaderData_hook',
be: 'export_loader_async_fn'
}
- action 前后端數(shù)據(jù)描述:
let sc_remix_router = {
fe: 'useActionData_hook',
be: 'export_action_async_fn'
}
遵循 Web 標準
遵循 web 標準發(fā)展描述:
let web = {
'support': ['web_standard', 'http', 'html'],
'examples': ['fetch_api', 'link_tag', 'meta_tag', 'form']
}
漸進式
在原有的 html 基礎上,做 css/javascript/from/異步數(shù)據(jù)等功能增強
let enhance = {
can_no_css_or_javascript: true,
can_on_layout_data: true,
can_no_loading: true,
data_CRUD: true
}
不做過度抽象
remix 由于有教育經(jīng)驗,對過度的抽象是敏感的,很明顯是過度抽象不利于初學者。例如引入 css 依然使用 link 來引入,不同的是:從 link 標簽,變成輸出一個 link 函數(shù)。
let define_link_example = {
html: 'link_tag',
remix: 'export_link_fn'
}
小結
remix 由于多年的開發(fā)和培訓以及開源經(jīng)驗,開發(fā)一套遵循 Web 標準和 S/C 模型的漸進式的全??蚣堋emix 的路由模塊結構簡單清晰,能方便快捷的完成 web 開發(fā)任務。
以上就是通過示例講解Remix 設計哲學理念的詳細內(nèi)容,更多關于Remix 設計哲學理念的資料請關注腳本之家其它相關文章!
相關文章
在?React?中使用?Context?API?實現(xiàn)跨組件通信的方法
在React中,ContextAPI是一個很有用的特性,可用于組件間的狀態(tài)共享,它允許跨組件傳遞數(shù)據(jù)而無需通過每個組件手動傳遞props,本文給大家介紹在?React?中如何使用?Context?API?來實現(xiàn)跨組件的通信,感興趣的朋友一起看看吧2024-09-09
Reactjs?+?Nodejs?+?Mongodb?實現(xiàn)文件上傳功能實例詳解
今天是使用?Reactjs?+?Nodejs?+?Mongodb?實現(xiàn)文件上傳功能,前端我們使用?Reactjs?+?Axios?來搭建前端上傳文件應用,后端我們使用?Node.js?+?Express?+?Multer?+?Mongodb?來搭建后端上傳文件處理應用,本文通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧2022-06-06
react-router browserHistory刷新頁面404問題解決方法
本篇文章主要介紹了react-router browserHistory刷新頁面404問題解決方法,非常具有實用價值,需要的朋友可以參考下2017-12-12

