如何使用全球安装的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将使用全局安装的节点模块,并且如果丢失的话会引发错误。