Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Karma:如何在命令行上更改预处理器(或在配置中切换预处理器)_Javascript_Command Line_Karma Runner - Fatal编程技术网

Javascript Karma:如何在命令行上更改预处理器(或在配置中切换预处理器)

Javascript Karma:如何在命令行上更改预处理器(或在配置中切换预处理器),javascript,command-line,karma-runner,Javascript,Command Line,Karma Runner,我想用不同的预处理器运行Karma几次。基于这些失败,karma exec在命令行上侦听预处理器,但我无法正确设置它 以下所有操作都返回相同的错误 karma start --single-run web-app/karma.conf.js --preprocessors "{\"../grails-app/assets/javascripts/**/!(lib)/**/*.js\": \"jshints\"}" karma start --single-run web-app/karma.co

我想用不同的预处理器运行Karma几次。基于这些失败,karma exec在命令行上侦听预处理器,但我无法正确设置它

以下所有操作都返回相同的错误

karma start --single-run web-app/karma.conf.js --preprocessors "{\"../grails-app/assets/javascripts/**/!(lib)/**/*.js\": \"jshints\"}"
karma start --single-run web-app/karma.conf.js --preprocessors {"../grails-app/assets/javascripts/**/!(lib)/**/*.js": "jshints"}
karma start --single-run web-app/karma.conf.js --preprocessors "{'../grails-app/assets/javascripts/**/!(lib)/**/*.js': 'jshints'}"
错误:

/usr/lib/node_modules/karma/lib/config.js:145
  Object.keys(preprocessors).forEach(function(pattern) {
         ^
TypeError: Object.keys called on non-object
    at Function.keys (native)
    at normalizeConfig (/usr/lib/node_modules/karma/lib/config.js:145:10)
    at Object.parseConfig (/usr/lib/node_modules/karma/lib/config.js:293:10)
    at Object.exports.start (/usr/lib/node_modules/karma/lib/server.js:282:20)
我为什么要这样做,还有其他选择吗?


coverage
jshint
预处理器不兼容。我可以复制
karma.conf.js
,但这不是一个很好的长期可维护性选项。

创建
karma.conf.js
模板

module.exports = {
  ...
}
为karma创建一个包装器(我们称之为'wrapper.js'):

此时,您可以从控制台传递参数:

$ node wrapper.js blah
有关karma API的更多信息,请查看:

$ node wrapper.js blah