[英]RequireJS module not loading dependencies
我在使用requireJS加載模塊時遇到問題。 我有兩個文件:
文件1:app1 / js / utils / commons / commons.js
define("utils/commons/commons",
[
"../../../../app2/MenuModule"
], function (MenuModule) {
//MenuModule is undefined here
var app = angular.module('commons', ['MenuModule']);
});
File2:app2 / MenuModule.js
define("../../../../app2/MenuModule",
[
"../../../../app2/MenuController",
"../../../../app2/MenuRestProvider"
], function (MenuController,
MenuRestProvider) {
var app = angular.module('MenuModule', []);
app.factory('MenuRestProvider', MenuRestProvider);
app.controller('MenuController', MenuController);
return app;
});
關鍵是:File1加載File2,然后運行File2中的'define'函數。 不會獲取File2的依賴關系,並且不會評估傳遞給'define'函數的函數。 您能看到導致此問題的原因嗎?
我認為您將路徑與模塊ID混淆了。 相互混淆很容易,因為路徑最終導致根據模塊的定義方式來定義moduleID,但是當您將相對符號放入模塊引用中時,不要考慮“沿路徑走”,而要考慮“移動”模塊層次結構。
所有這些意味着您需要與我們共享您的路徑配置,以便我們可以看到如何將引用的模塊ID轉換為加載路徑。
也要同意:將moduleID直接放在define()調用中有代碼味道。 您應該讓amd加載程序為您定義moduleID(通過使它們成為匿名模塊)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.