[英]Using r.js with Angular and Require
在我的角度應用程序中使用require時,我在設置r.js時遇到問題。 我是使用AMD的新手,所以它可能很容易解決。 不幸的是,由於必須能夠使用相同的默認組件添加更多客戶端,因此目錄結構必須保持原樣。
我得到的錯誤是它找不到控制器依賴項。 可以從Client#1 / Directory_For_Prod_Packs / Angular / Default / _Controllers / .js引用它們。 因此,從本質上講,它是在構建文件所在的末尾添加整個絕對路徑,或者至少在我看來是這樣。 任何幫助都將是驚人的。 本質上,我只想擁有一包我所有的指令,服務,控制器等。或者一包controllers.js然后是指令。
這是我的目錄結構。
這是我的r.js build.js
({
baseUrl: '../../lib/Angular',
dir: "../../Client#1/ProductionBuild",
paths: {
"controllers": '../../Default/_Controllers/_Controllers',
},
modules: [
{
name: "controllers"
}
]
})
最后是我的_Controller.js
define(['angular',
'../../Default/_Controllers/controller1.js',
'../../Default/_Controllers/controller2.js'],
function(angular) {
'use strict';
var dependencies = ['controller1',
'controller2',];
angular.module('app.controllers', dependencies);
}
);
我不確定問題到底出在哪里(目錄結構和../..
似乎不匹配,盡管我可能會誤會),但是嘗試將build.js
屬性設置為:
baseUrl
:包含腳本的文件夾, 相對於加載腳本的HTML頁面而言, 而不是相對於build.js
dir
: 相對於build.js
構建輸出文件夾 appDir
:應用程序文件夾。 它可能包含一個index.html
,用於引導您的應用程序的腳本。 baseUrl
配置屬性指向的文件夾必須在此文件夾下! 這是相對於build.js
。 請特別注意baseUrl
,那些../..
看起來可疑。 它相對於index.html
,而不是build.js
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.