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-preprocessor
和 karma-webpack
。它们使用相同的预处理器名称 'webpack'
.
卸载 karma-webpack-preprocessor
并保留 karma-webpack
对我有用。
您也可以保留 karma-webpack-preprocessor
,但像这样定义 configPath:
webpackPreprocessor: {
configPath: './config/webpack'
},
你可以在这里看到:
https://www.npmjs.com/package/karma-webpack-preprocessor
当我 运行 我的 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-preprocessor
和 karma-webpack
。它们使用相同的预处理器名称 'webpack'
.
卸载 karma-webpack-preprocessor
并保留 karma-webpack
对我有用。
您也可以保留 karma-webpack-preprocessor
,但像这样定义 configPath:
webpackPreprocessor: {
configPath: './config/webpack'
},
你可以在这里看到: https://www.npmjs.com/package/karma-webpack-preprocessor