调查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
)。
在测试过程中加载其他模块时出现了什么问题?诚实的问题,也许你的环境导致问题?您还有哪些其他工具用于测试?噶?咕噜?茉莉花? –
您是否在“构建”过程中进行测试?你在网页上测试自己吗?托管的规格文件? –