Karma/webpack TypeError: Cannot read property 'configPath' of undefined

Karma/webpack TypeError: Cannot read property 'configPath' of undefined

当我 运行 我的 karma.config.js 时出现以下错误:

[karma]: TypeError: Cannot read property 'configPath' of undefined at D:\View\node_modules\karma-webpack-preprocessor\index.js:39:50 at nextPreprocessor (D:\View\node_modules\karma\lib\preprocessor.js:36:26) at D:\View\node_modules\karma\lib\preprocessor.js:122:9 at module.exports (D:\View\node_modules\isbinaryfile\index.js:28:12) at D:\View\node_modules\karma\lib\preprocessor.js:84:7 at D:\View\node_modules\graceful-fs\graceful-fs.js:78:16 at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:504:3)

我的 karma.config.js 看起来像这样:

var webpackConfig = require('./webpack.config.js');
webpackConfig.entry = {};

module.exports = function(config) {
    config.set({
        basePath: '',
        frameworks: ['jasmine'],

        reporters: ['progress'],
        port: 9876,
        colors: false,
        logLevel: config.LOG_INFO,
        autoWatch: false,
        browsers: ['Chrome'],
        singleRun: false,
        autoWatchBatchDelay: 300,

        files: [
            './src/index.js',
            './**/*.spec.js'],

        preprocessors: {
            './src/index.js': ['webpack'],
            '.**/*.spec.js': ['babel']
        },

        webpack: webpackConfig,

        webpackMiddleware: {
            noInfo: true
        }
    });
}

我尝试在 karma.config.js 中引用的 webpack 配置在我单独使用 webpack 时工作得很好。

那么这里可能是什么问题?

我发现我的节点模块中有 karma-webpack-preprocessorkarma-webpack。它们使用相同的预处理器名称 'webpack'.

卸载 karma-webpack-preprocessor 并保留 karma-webpack 对我有用。

您也可以保留 karma-webpack-preprocessor,但像这样定义 configPath:

webpackPreprocessor: {
  configPath: './config/webpack'
},

你可以在这里看到: https://www.npmjs.com/package/karma-webpack-preprocessor