我已经使用 npm install -g 全局安装了一些 karma 插件,例如:karma-requirejs、karma-jasmine...
现在我想在 karma 测试执行中使用它们。我发现使用它们的唯一方法是使用 karma 配置的插件部分中的 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')
],
我认为 karma 会首先查看本地 node_modules,然后查看全局。但我必须设置完整路径。 有没有办法在没有完整路径的情况下使用全局安装的插件?
最佳答案
这对我来说似乎是一个不好的做法......但是,我认为你可以这样做:
- 照常在您的karma 配置中列出它们:
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 将使用全局安装的 Node 模块,如果缺少一个,则会抛出错误。
关于node.js - 如何使用全局安装的 Karma 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24679767/