knockout-spa單頁應用框架
用Knockout, Require, Director, jQuery, Sugar搭建的單頁程序(SPA Single Page Application)框架。
特征
- 快速,輕巧(縮小了100 KB的JS,并壓縮為初始內(nèi)核設置)。
- 使用Knockout 3.4.0+,可以使用Knockout的Web組件和自定義標簽。
- 組件文件(html,js,css)按需動態(tài)加載:僅當組件位于視圖中時。
- 提供Knockout ES5 POJO樣式的viewModel / binding選項,以幫助您編寫更簡潔的代碼,并使將來更輕松地用其他MVVM庫替換Knockout。
- 對生產(chǎn)使用2層捆綁包構(gòu)建策略:大多數(shù)頁面將使用的通用模塊,以及將延遲加載的特定于頁面的模塊。這使應用程序可以擴展到非常大的規(guī)模-無需在第一頁加載時一次性為整個應用程序一次性打包巨型捆綁文件-只會加載頁面所需的部分,以及所有模塊的公共依賴項。當用戶導航到應用程序的其他部分時,所需的文件(js,css,html)被延遲加載。這對于應用程序的性能表現(xiàn)尤其重要,尤其是在移動設備上,因為一次性打包文件不僅由于大小而下載速度較慢,而且解析速度也較慢。
- 使用
require-css和require-textAMD插件可以按需動態(tài)加載CSS和HTML模板以及需要它們的JS模塊;這些CSS和HTML模板文件將內(nèi)聯(lián)并縮小到相應的JS模塊中,以進行生產(chǎn)構(gòu)建。
- 使用
- 使用
require-i18n可擴展的國際化/本地化。 - 在開發(fā)過程中不需要任何觀察程序/編譯器/構(gòu)建任務-您可以直接調(diào)試在IDE中編輯的完全相同的JS / CSS / HTML /任何文件。對文件所做的更改將在刷新瀏覽器后立即反映出來(或使用Chrome devtools工作區(qū)或類似工具無需更改頁面即可實時呈現(xiàn)更改)。生產(chǎn)所需的唯一構(gòu)建任務是RequireJS r.js優(yōu)化器任務,該任務已在中預定義
build.js。只需找出一種基于配置的方式即可從/build文件夾中提供資產(chǎn)以進行生產(chǎn)。 - 路由(基于Flatiron的Director:HTML5歷史記錄(pushState)或哈希。
- 高度可組合和可重用:在頁面特定的JS中為頁面選擇模塊/組件,它們將自動連接到頁面的HTML模板。
- SEO準備就緒(prerender.io)。
- 組織的文件夾結(jié)構(gòu)可幫助您保持理智,以組織和重用模塊/文件。不使用該文件類型的文件夾的結(jié)構(gòu),如
/js,/css,/html,/template,等等,作為屬于同一模塊/部件文件更容易當相同的文件夾下組合在一起進行導航。如果應刪除應用程序的一部分,從理論上講,您只需要刪除相應的module / component文件夾,然后觸摸很少的其他位置即可。
評論
圖片
表情
