簡體   English   中英

如何在單頁應用程序上使用AMD以僅加載某些依賴項

[英]how to use AMD on a Single-page application to load only certain dependency

據我了解,使用AMD管理已加載的依賴項的好處之一是,但是在使用require.js的單頁應用程序中,所有依賴項都將被加載。

例如,使用骨干或類似的東西,可以說我有以下文件

main.js需要router.js
router.js需要view_a.js和view_b.js

router.js呈現視圖

routes: {  
   "view_b":"b",   
   "view_a":"a"  
},  
a:function{  
  showView(new ViewA());  
},   
b:function{  
  showView(new ViewB());  
}

現在說我去example.com/#view_b ,它僅需要view_b.js的代碼,而不使用view_a.js任何view_a.js 無論如何,是否只view_b.js使用require.js或類似方法加載view_b.js或對其進行優先排序?

您不能這樣做,因為require.js需要在執行文件之前加載文件的所有依賴項。

我看到了兩種解決您的問題的方法:

  • 創建兩個不同的Backbone.Router,就像您只“需要”每個路由器所需的模塊一樣(恕我直言,這不是最佳解決方案)

  • 使用require.js優化器 ,這會將您的所有Javascript文件合並為一個。 當然,您只能將其用於生產,而不能用於開發。

暫無
暫無

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

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