【发布时间】:2014-07-10 14:52:53
【问题描述】:
我已经使用 npm install -g 全局安装了一些 karma 插件,例如:karma-requirejs、karma-jasmine...
现在我想在业力测试执行中使用它们。我发现使用它们的唯一方法是使用 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,然后查看全局。但我必须设置完整的路径。 有没有办法在没有完整路径的情况下使用全局安装的插件?
【问题讨论】:
-
全局模块用于命令行工具。它们不是共享模块!所以你不应该
require他们,尽管有一些技巧可以做到这一点。 -
我有一个没有 Internet 的设置,并且无法使用本地复制的 couchdb 用于 npm 注册表。我认为最好的方法,虽然听起来不太好,但是将所有插件复制到全局 npm 目录。因为我有很多依赖它们的项目,所以将插件复制到所有项目将是很多工作。
标签: node.js npm karma-runner