Gruntjs Karma.conf.js不存在
我刚刚从头重新安装了node。我还安装了Gruntjs Karma.conf.js不存在,gruntjs,yeoman,karma-runner,Gruntjs,Yeoman,Karma Runner,我刚刚从头重新安装了node。我还安装了yeoman、generator angular和karma 使用yo生成项目后,我可以成功地grunt-service。但是,每当我尝试grunt测试时,都会抛出以下错误: karma.conf.js不存在 然而,karma.conf.js确实存在于生成的测试目录中。为什么会发生这种情况?Gruntfile.js指根目录中的karma.conf.js。 角度生成器将其放在test目录中,因此需要更新Gruntfile.js // Test setting
yeoman
、generator angular
和karma
使用yo
生成项目后,我可以成功地grunt-service
。但是,每当我尝试grunt测试时,都会抛出以下错误:
karma.conf.js不存在
然而,karma.conf.js
确实存在于生成的测试目录中。为什么会发生这种情况?Gruntfile.js指根目录中的karma.conf.js。
角度生成器将其放在test目录中,因此需要更新Gruntfile.js
// Test settings
karma: {
unit: {
configFile: 'test/karma.conf.js',
singleRun: true
}
}
使用生成的karma.conf.js运行grunt测试时也会出现问题。它会说
test/karma.conf.js:63
colors: true,
^^^^^^
ERROR [config]: Invalid config file!
SyntaxError: Unexpected identifier
原因:“singleRun:false”后缺少逗号。我也有这个问题,但我使用的是CoffeeScript。原来karma.conf.js的咖啡脚本并没有被创建。karma.conf.coffee被正确地放置在测试文件夹中,但它没有被编译。所以在我的gruntfile(在咖啡任务下)中,我替换了这个
test: {
files: [{
expand: true,
cwd: 'test/spec',
src: '{,*/}*.coffee',
dest: '.tmp/spec',
ext: '.js'
}]
}
用这个
test: {
files: [{
expand: true,
cwd: 'test/spec',
src: '{,*/}*.coffee',
dest: '.tmp/spec',
ext: '.js'
},
{
expand: true,
cwd: 'test',
src: 'karma.conf.coffee',
dest: 'test',
ext: '.conf.js'
}]
}
我所做的只是确保karma.conf.coffee在测试目录中编译
这是可行的,但我仍然会出错,因为在karma.conf.coffee中,一些文件的扩展名不正确('cs'而不是'coffee'),尤其是这3行
'app/scripts/**/*.cs'
'test/mock/**/*.cs'
'test/spec/**/*.cs'
我只是将扩展名改为coffeescript(并删除了mock文件夹,因为我没有使用它)
之后,构建和测试工作开始了。我是新来的约曼人,所以我不确定这是否可以轻易避免,但这是我必须做的事情,以使事情顺利进行。在我的情况下,我甚至没有找到karma.conf.js。然而,我意识到如果你这样做
grunt --force
你将能够得到更多的信息,你可能会得到里面发生的事情
Running "karma:unit" (karma) task
08 09 2015 13:16:33.928:WARN [plugin]: Cannot find plugin "karma-phantomjs-launcher".
Did you forget to install it ?
npm install karma-phantomjs-launcher --save-dev
08 09 2015 13:16:33.939:WARN [plugin]: Cannot find plugin "karma-jasmine".
Did you forget to install it ?
npm install karma-jasmine --save-dev
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Used --force, continuing.
最后,我终于发现我错过了什么
希望有帮助。您是否安装了bower
和npm安装
?是的--yeoman(或者更准确地说,生成器角度)在生成脚手架时自动执行此操作。。。“我完成了。运行bower install&npm install以安装所需的依赖项。如果失败,请尝试自己运行该命令”。同样的错误,令人讨厌!一旦我添加了业力,这就奏效了。npm安装karma另外,如果使用--coffee命令生成angular,则必须将Gruntfile karama.conf.js更改为karma.conf.coddee
Running "karma:unit" (karma) task
08 09 2015 13:16:33.928:WARN [plugin]: Cannot find plugin "karma-phantomjs-launcher".
Did you forget to install it ?
npm install karma-phantomjs-launcher --save-dev
08 09 2015 13:16:33.939:WARN [plugin]: Cannot find plugin "karma-jasmine".
Did you forget to install it ?
npm install karma-jasmine --save-dev
Warning: No provider for "framework:jasmine"! (Resolving: framework:jasmine) Used --force, continuing.