Karma无法加载webpack

时间:2015-07-16 03:06:37

标签: javascript karma-runner webpack karma-mocha

我收到此错误;

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。

有什么想法吗?

3 个答案:

答案 0 :(得分:6)

我有类似的错误,但在接受的解决方案中引用的帖子对我不起作用。如果您正在寻找替代方案,请阅读以下内容!

我看到以下错误消息:

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",

希望这有帮助。

答案 1 :(得分:5)

最新版本的karma- *项目发生了一些变化。我遇到了同样的问题,因为我安装了最新的一切。现在我完全尝试了here版本,结果很好。

答案 2 :(得分:2)

你应该升级“karma”和“karma-webpack”包。有类似的例外,升级到下一个版本解决了这个问题:

$_REQUEST['testid']