調查requireJs加載您的依賴關係。使用RequireJs,您可以爲生產代碼和測試代碼加載不同的文件。
這是一個(基本的)例子。
比方說,你有一個JavaScript文件,定義您的角模塊(命名如app.js
):
define(['dependency1Module', 'dependency2Module'], function(dependency1Module, dependency2Module) {
var app = angular.module('app',['dependenceny1Module', 'dependenceny2Module']);
return app;
}
模塊dependency1Module,dependency2Module,......有一個類似的設置:
define(function() {
var module = angular.module('dependenceny1Module');
return module;
}
現在你需要一個引導文件(例如命名爲bootstrap.js
)來定義文件的位置,所以你將有兩個引導文件:一個是你的生產代碼(使用可能的縮小版本一些庫)和用於測試版本:
require.config({
baseUrl: "path/to/production|test scripts",
paths: {
angular: 'path/to/angular',
jquery: 'path/to/jquery',
},
shim: {
angular: {
exports: 'angular',
deps: ['jquery']
}
}
});
require(["angular", "app", ], function(angular, app) {
angular.element(document).ready(function() {
angular.bootstrap(document, ['app']);
});
});
而是改變baseUrl
,你可以定義爲模塊不同的路徑要嘲笑:
paths: {
dependency1Module: 'path/to.mock/dependency1Module'
}
最後一步是將插件引導文件在您的html代碼(生產或測試):
<script type="text/javascript" src="path/to/require.js"></script>
<script type="text/javascript" src="path/to/bootstrap(production|test).js"></script>
這是一個基本的requirejs設置。當然,在你使用某種角度類型(例如控制器,服務,...)之前,你還需要爲它設置一個requirejs模塊(並且require
它就是你的app.js
)。
在測試過程中加載其他模塊時出現了什麼問題?誠實的問題,也許你的環境導致問題?您還有哪些其他工具用於測試?噶?咕嚕?茉莉花? –
您是否在「構建」過程中進行測試?你在網頁上測試自己嗎?託管的規格文件? –