我是一個非常大型的,多頁面的web應用程序的開發人員。我們正在努力改進我們的JavaScript的理智,所以我想介紹一個模塊加載器。目前,所有事情都是以一種老式的方式,將一堆腳本標籤放在頁面上並希望獲得最佳效果。一些限制是:如何將模塊引入傳統JavaScript項目?
- 我們的html頁面是模板化,繼承和組成,使得發送到客戶端的最終頁面彙集了來自許多不同源HTML文件的片段。這些給定文件中的任何一個都可能依賴於鏈上較高的JavaScript資源。
- 這一定是零碎的。代碼庫大到可以一次轉換所有內容,所以我正在尋找新頁面的良好解決方案,並根據需要在現有頁面上進行遷移。
- 此解決方案需要與現有的非模塊JavaScript共存於同一頁面上。有些東西(如菜單和分析)存在於每個頁面上,例如,我無法刪除全局jquery,因爲它遍佈整個地方。
基本上我想要一種方法來創建使用模塊和現代依賴管理的安全空間。我讀過的大多數教程和文章都針對新項目。
Requirejs看起來像一個不錯的選擇,我已經玩了一下。儘管它的完全異步性質在某些情況下是阻礙 - 我想使用requirejs打包全局資源,但如果我無法控制執行順序,我不能這樣做。此外,它吸引了一個頁面的主要功能(比如渲染表格)在分析調用等次要事情之後發生。
有什麼建議嗎?
你能夠至少「模塊化」你的巨型代碼庫嗎?例如,你可以將前端需要的所有組件分成不同的腳本標籤嗎?如果是這樣,你可以逐步複製和粘貼你的所有腳本到UMD格式,這將最終讓你將它們捆綁在一個現代化的閃亮工具中,比如browserify/webpack https://github.com/umdjs/umd –
是的, 。當然有一些相關的頁面可能會將JavaScript捆綁在一起。 – Xephryous