簡體   English   中英

需要還是不要求?

[英]To require or not to require?

因此,我已經建立了一個頁面的Web應用程序已有一段時間了,並且我已經以一種非常模塊化的方式編寫了所有代碼。 我一直在對所有模塊使用javascript模塊模式,而我的主要API使用顯示模塊模式來公開用於插件和其他模塊的小型API。

因此,即使我一直在這樣寫代碼,也有人提到我應該使用require.js,因為它提供了更好的模塊化方法。

我認為require.js並沒有真正使它更具模塊化,因此我的下一個想法是require.js如何分離出依賴關系。 Require.js強制您在每個模塊文件中命名依賴關系。 但這對我來說似乎是每個模塊都要執行的任務,而且我有很多模塊。 目前,在我的咕files構建過程中,我的所有文件都串聯到一個javascript文件中,因此實際上我的所有文件都是在開始時加載的。 我需要在開始時加載大多數模塊,因此這樣做很有意義。

所以我的問題是...即使我的代碼是模塊化的,並且我所有的文件都連接在一起並在一開始就加載,我仍應使用require.js嗎? 我是否需要擔心依賴關系或加載順序? 處理這種情況時的任何幫助/建議或以前的經驗都將真正有幫助。 謝謝

  1. 您是否有煩惱以正確的順序放置<script>標記以正確處理依賴項?

    與您自己聲明<script>標記相比,擁有一個requirejs配置文件來聲明第三方代碼和自己的代碼依賴關系樹是一種更有條理的方法。

  2. 在開發環境中測試應用程序時,將所有這些模塊放在單獨的文件中進行調試(而不是將它們全部串聯在一起)是否會有所幫助?

    使用requirejs,您可以在生產環境中使用的優化/鏈接/縮小代碼與代表開發環境中每個模塊的獨立文件列表之間進行切換。

  3. 您是否正在為應用程序中的每個模塊創建全局變量?

    Requirejs避免為每個模塊創建一個全局變量,這樣您的全局范圍就不會混亂。

  4. 在聲明模塊時遵循慣例通常是一個好習慣。 Requirejs實現了AMD規范,這是在客戶端javascript中加載模塊的一種深思熟慮的方式。

    http://requirejs.org/docs/whyamd.html

    如果約定已經在成熟的框架中實現,則遵循約定更容易。 有時我們不會注意到,但在應用程序之間,我們做相同的事情的方式有所不同,這會影響維護階段。

  5. 看一下requirejs優化器。 查看它給您的所有選項。 它允許您排除文件,更改給定模塊的版本,更改縮小工具,將優化過程與gruntbower等其他工具集成。

http://requirejs.org/docs/optimization.html

如果您不需要任何這些,請繼續以您的方式進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM