我如何控制在业力配置中加载的订单文件
How do I control the order files are loaded in karma config
我正在使用 Karma 测试 Angular 应用程序。我一切正常,但似乎我做错了什么。
https://gist.github.com/guyjacks/7bca850844deb612e681
如果我注释掉 'app/notes/notes.main.js',Karma 会抛出以下错误:
未捕获错误:[$injector:nomod] 模块 'notes.main' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。
http://errors.angularjs.org/1.4.3/$injector/nomod?p0=notes.main
在 /Users/guyjacks/projects/adr-demo/node_modules/angular/angular.js:1958
我不想手动列出每个应用程序文件来控制每个文件的加载顺序。我没有做错什么,还是只需要按我想要的顺序列出每个文件?
---- 基于已接受答案的解决方案----
我的应用按照 Angular 风格指南的建议组织成模块:https://github.com/johnpapa/angular-styleguide。
'app/app.module.js',
'app/**/*.module.js',
'app/**/*.service.js',
'app/**/*.controller.js',
'app/**/*.directive.js',
'app/**/*.js'
我认为上面的下面几行不是必须的
'app/**/*.service.js',
'app/**/*.controller.js',
'app/**/*.directive.js'
当每个模块都有一个在 *.module.js 文件中声明的 angular 模块时,就像我的应用程序那样。
就是说,如果您确实需要在控制器之前显式加载服务和在指令之前加载控制器,那么这就是实现它的方法。
更新 : 我看不到你的业力文件,现在 Gist link 已修复。
注释[.]main.js中的点导致了问题,
因此,'app/**/*.js' 不匹配注释。main.js。
现在试试这样:app/**/*。 *.js
============================================= ================
更新前:
你必须在karma config中加载你的应用所依赖的模块。文件:
module.exports = function(config) {
config.set({
.......
// list of files / patterns to load in the browser
files: [
'./client/app/vendors/angular/angular.js',
// =====> load Your modules here ...
'./client/app/app.js',
'./client/app/controllers/*.js',
'./client/app/directives/*.js',
'./client/app/services/*.js',
'./test/client/unit/**/*.js'
],
.....
}) }
我正在使用 Karma 测试 Angular 应用程序。我一切正常,但似乎我做错了什么。
https://gist.github.com/guyjacks/7bca850844deb612e681
如果我注释掉 'app/notes/notes.main.js',Karma 会抛出以下错误:
未捕获错误:[$injector:nomod] 模块 'notes.main' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 http://errors.angularjs.org/1.4.3/$injector/nomod?p0=notes.main 在 /Users/guyjacks/projects/adr-demo/node_modules/angular/angular.js:1958
我不想手动列出每个应用程序文件来控制每个文件的加载顺序。我没有做错什么,还是只需要按我想要的顺序列出每个文件?
---- 基于已接受答案的解决方案----
我的应用按照 Angular 风格指南的建议组织成模块:https://github.com/johnpapa/angular-styleguide。
'app/app.module.js',
'app/**/*.module.js',
'app/**/*.service.js',
'app/**/*.controller.js',
'app/**/*.directive.js',
'app/**/*.js'
我认为上面的下面几行不是必须的
'app/**/*.service.js',
'app/**/*.controller.js',
'app/**/*.directive.js'
当每个模块都有一个在 *.module.js 文件中声明的 angular 模块时,就像我的应用程序那样。
就是说,如果您确实需要在控制器之前显式加载服务和在指令之前加载控制器,那么这就是实现它的方法。
更新 : 我看不到你的业力文件,现在 Gist link 已修复。
注释[.]main.js中的点导致了问题,
因此,'app/**/*.js' 不匹配注释。main.js。
现在试试这样:app/**/*。 *.js
============================================= ================
更新前:
你必须在karma config中加载你的应用所依赖的模块。文件:
module.exports = function(config) {
config.set({
.......
// list of files / patterns to load in the browser
files: [
'./client/app/vendors/angular/angular.js',
// =====> load Your modules here ...
'./client/app/app.js',
'./client/app/controllers/*.js',
'./client/app/directives/*.js',
'./client/app/services/*.js',
'./test/client/unit/**/*.js'
],
.....
}) }