如何使用全球安装的Karma插件
我已经安装了一些karma插件,如:karma-requirejs,karma-jasmine …全局使用npm install -g
现在我想在业力testing执行中使用它们。 我发现使用它们的唯一方法是在karmaconfiguration的插件部分使用require函数:
plugins: [ require('/usr/local/lib/node_modules/karma-requirejs'), require('/usr/local/lib/node_modules/karma-jasmine'), require('/usr/local/lib/node_modules/karma-junit-reporter'), require('/usr/local/lib/node_modules/karma-phantomjs-launcher'), require('/usr/local/lib/node_modules/karma-coverage'), require('/usr/local/lib/node_modules/karma-requirejs') ],
我以为业力会先看看本地的node_modules,然后看看全局的。 但是我必须设置完整path。 有没有办法使用全球安装的插件没有完整的path?
对我来说,这看起来是一个不好的做法…但是,你可以这样做,我想:
- 像往常一样列在你的业力configuration :
plugins: [ 'karma-requirejs', 'karma-jasmine', 'karma-junit-reporter', 'karma-phantomjs-launcher', 'karma-coverage', 'karma-requirejs' ],
- 不要将它们添加到你的package.json (npm)
"devDependencies": { "karma": "0.12.17" // remove all the plugins listed above }
注意: Karma将使用全局安装的节点模块,并且如果丢失的话会引发错误。