Karma 无法加载 webpack

Karma can't load webpack

我遇到了这个错误;

16 07 2015 13:03:52.741:WARN [preprocess]: Can not load "webpack"!
   Error: Can not resolve circular dependency! (Resolving: preprocessor:webpack -> webpackPlugin -> preprocessor:webpack)

我的karma.conf长得像;

var webpack = require('webpack');

module.exports = function (config) {
  config.set({
    browsers: [ 'Chrome' ], //run in Chrome
    singleRun: true, //just run once by default
    frameworks: [ 'mocha' ], //use the mocha test framework
    files: [
      'tests.webpack.js' //just load this file
    ],
    preprocessors: {
      'tests.webpack.js': [ 'webpack', 'sourcemap' ] //preprocess with webpack and our sourcemap loader
    },
    reporters: [ 'dots' ], //report results in this format
    webpack: { //kind of a copy of your webpack config
      devtool: 'inline-source-map', //just do inline source maps instead of the default
      module: {
        loaders: [
          { test: /\.js$/, loader: 'babel-loader' }
        ]
      }
    },
    webpackServer: {
      noInfo: true //please don't spam the console when running in karma!
    }
  });
};

和tests.webpack.js

var context = require.context('./src', true, /-test\.js$/); //make sure you have your directory and regex test set correctly!
context.keys().forEach(context);

我确实安装了 karma 和 karma-webpack。

有什么想法吗?

最新版本的 karma-* 项目发生了一些变化。我遇到了同样的问题,因为我安装了最新的所有东西。现在我完全尝试了版本 here 并且成功了。

我遇到了类似的错误,但已接受的解决方案中引用的 post 对我不起作用。如果您正在寻找替代品,请阅读下文!


我看到了以下错误消息:

WARN [preprocess]: Can not load "webpack"!
TypeError: Object [object Object] has no method 'refreshFiles'
at Plugin.notifyKarmaAboutChanges (/Users/abhandaru/workspace/source/macaw-campaigns/node_modules/karma-webpack/index.js:108:15)
at Plugin.<anonymous> (/Users/abhandaru/workspace/source/macaw-campaigns/node_modules/karma-webpack/index.js:72:9)
at Tapable.applyPlugins (/Users/abhandaru/workspace/source/macaw-campaigns/node_modules/webpack/node_modules/tapable/lib/Tapable.js:26:37)

我在 Github 问题上找到了这个解决方案:

https://github.com/webpack/karma-webpack/issues/65

这是我 package.json:

中的更新行
"karma": "^0.13.3",
"karma-chrome-launcher": "^0.2.0",
"karma-jasmine": "^0.3.6",
"karma-webpack": "^1.7.0",

希望这对您有所帮助。

您应该升级 "karma" 和 "karma-webpack" 包。有类似的异常,升级到下一个版本解决了这个问题:

"karma": "0.13.18",
"karma-webpack": "1.7.0"