Javascript 错误[预处理]:无法加载";“网页包”;!(webpack@2.2.1; karma@1.4.1)
我尝试使用网页@2.2.1和运行业力测试karma@1.4.1。但我得到的只是一个错误:Javascript 错误[预处理]:无法加载";“网页包”;!(webpack@2.2.1; karma@1.4.1),javascript,angular,webpack,jasmine,karma-runner,Javascript,Angular,Webpack,Jasmine,Karma Runner,我尝试使用网页@2.2.1和运行业力测试karma@1.4.1。但我得到的只是一个错误: ERROR [preprocess]: Can not load "webpack"! Error at webpack (/Users/plano/S/plano/projects/scheduler.frontend.ng2/node_modules/webpack/lib/webpack.js:19:9) at new Plugin (/Users/plano/S/plano/pr
ERROR [preprocess]: Can not load "webpack"!
Error
at webpack (/Users/plano/S/plano/projects/scheduler.frontend.ng2/node_modules/webpack/lib/webpack.js:19:9)
at new Plugin (/Users/plano/S/plano/projects/scheduler.frontend.ng2/node_modules/karma-webpack/lib/karma-webpack.js:65:18)
at invoke (/Users/plano/S/plano/projects/scheduler.frontend.ng2/node_modules/di/lib/injector.js:75:15)
...
我发现的所有解决方案都与中的一个bug有关karma@0.12.x(例如和)。我在1.4.1上,所以他们对我没有帮助
告诉我从网页包配置中删除条目:{}
。我的网页配置中没有条目:{}
据了解,这是一个网页问题,因为2.2.0-rc.4
。所以我尝试了2.2.0-rc.3
。没有什么变化
我的karma.conf.js:
'use strict';
module.exports = config => {
config.set({
autoWatch: true,
browsers: ['Chrome', 'PhantomJS'],
files: [
'../node_modules/es6-shim/es6-shim.min.js',
'karma.entry.js'
],
frameworks: ['jasmine'],
logLevel: config.LOG_INFO,
phantomJsLauncher: {
exitOnResourceError: true
},
port: 9876,
preprocessors: {
'karma.entry.js': ['webpack', 'sourcemap']
},
reporters: ['dots'],
singleRun: true,
webpack: require('../webpack/webpack.test.js'),
webpackServer: {
noInfo: true
}
});
};
My webpack.test.js:
'use strict';
const path = require('path');
const webpack = require('webpack');
module.exports = {
devtool: 'inline-source-map',
module: {
preLoaders: [
{ exclude: /node_modules/, loader: 'tslint', test: /\.ts$/ }
],
loaders: [
{ loader: 'raw', test: /\.(css|html)$/ },
{ exclude: /node_modules/, loader: 'ts', test: /\.ts$/ },
{
test: /\.scss$/,
exclude: /node_modules/,
loaders: ['raw-loader', 'sass-loader'] // sass-loader not scss-loader
}
]
},
resolve: {
extensions: ['', '.js', '.ts'],
modulesDirectories: ['node_modules'],
root: path.resolve('.', 'src')
},
tslint: {
emitErrors: true
}
};
解决了
我在我的webpack.test.js中有这样一个选项:
tslint: {
emitErrors: true
}
Webpack2有一个非常严格的配置。现在看起来是这样的:
plugins: [
...
new LoaderOptionsPlugin({
options: {
emitErrors: true
}
}),
]
这里的更多信息:当我忘记将
网页:
选项添加到我的Karma配置时,我出现了这个错误。你是如何创建这个项目的?@Aravind它基于/。。最初在webpack@^1.13.1上运行。测试也在运行,但自Webpack2更新后不再运行。见@Aravind谢谢你的评论,我尝试在普通教程repo的基础上升级。我会在这里告诉你最新情况的。起初我不得不这么做。测试还可以。接下来我安装了最新版本webpack@2.2.1因果报应-webpack@2.0.2. 测试失败。这应该是可接受的答案!