node.js - 如何使用全局安装的 Karma 插件

标签 node.js npm karma-runner

我已经使用 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/

相关文章:

javascript - 如何使用 Angular(8) UI 在远程 Linux 服务器上运行 shell 脚本?

javascript - 如何测试嵌套 promise 的 Angular 服务功能?

css - Jasmine 测试 css 选择器的存在

node.js - 是否可以手动安装npm?

node.js - 无法在 yeoman Angular 生成的 Web 应用程序中生成 "dist"文件夹

javascript - 如何在nodejs中执行顺序基本命令?

javascript - 单元测试没有通过,尽管它显然应该通过?

javascript - Node.js 和 Comet

php - Node js Faye 客户端无法正常使用 HTTPS

Node.js 和管理 MongoDB 数据库