我的错误输出:
无效的配置对象。 Webpack已使用a初始化 与API架构不匹配的配置对象。 - configuration.module具有未知属性'加载器'。这些属性是有效的:object {exprContextCritical?, exprContextRecursive?,exprContextRegExp?,exprContextRequest?, noParse?,rules?,defaultRules?,unknownContextCritical?, unknownContextRecursive?,unknownContextRegExp?, unknownContextRequest?,unsafeCache ?, wrappedContextCritical?, wrappedContextRecursive?,wrappedContextRegExp?, strictExportPresence?,strictThisContextOnImports? } - >选项 影响正常模块(
NormalModuleFactory
)。
我的webpack.config.js:
var webpack = require('webpack');
var path = require('path');
var BUILD_DIR = path.resolve(__dirname, 'src/client/public');
var APP_DIR = path.resolve(__dirname, 'src/client/app');
var config = {
entry: APP_DIR + '/index.jsx',
module : {
loaders : [
{
test : /\.jsx?/,
include : APP_DIR,
loader : 'babel-loader'
}
]
},
output: {
path: BUILD_DIR,
filename: 'bundle.js'
}
};
module.exports = config;
我的网络包版本:
webpack@4.1.1
答案 0 :(得分:219)
您应该在webpack 4中将loaders
更改为rules
:
变化:
loaders
为:
rules
来源:https://webpack.js.org/concepts/loaders/#example
示例:
module.exports = {
module: {
rules: [
{ test: /\.css$/, use: 'css-loader' },
{ test: /\.ts$/, use: 'ts-loader' }
]
}
};
答案 1 :(得分:10)
在webpack 4中使用rules
而不是loaders
。
答案 2 :(得分:2)
以上给出的答案正在解决,但我们可以通过将webpack和webpack-dev-server版本更改为
来解决此问题var typeParam = new ConstructorArgument("type", type);
ViewModelLocator.Get<IDataViewModel>(typeParam);
它也可以解决问题。希望它会有所帮助。
答案 3 :(得分:2)
您应该使用migration utility来迁移Webpack配置文件,它对我有用。
答案 4 :(得分:0)
在webpack.config.js下为我工作
module.exports = {
entry: [
'.src/index.js'
],
output:{
path: __dirname,
filename: 'app/js/main.js'
},
module:{
rules: [
{ test: /\.css$/, use: 'css-loader' },
{ test: /\.ts$/, use: 'ts-loader' }
]
}
}