Module 有一个未知的属性‘ loader’

我的错误输出:

无效的配置对象。 Webpack 已使用 与 API 架构不匹配的配置对象。 - configation.module 有一个未知的属性‘ loader’。这些属性是有效的: ExprContextRecursive? ,exprContextRegExp? ,exprContextRequest? , 规则? ,默认规则? ,未知上下文关键? , 未知 ContextRegExp? , 未知上下文请求? ,非安全缓存? ,包装上下文关键? , WrappedContextRecursive? ,wrappedContextRegExp? , StritExportPresence? ,strictThisContextOnImport? }-> Options 影响正常模块(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
97477 次浏览

您应该在 webpack 4中将 loaders改为 rules:

改变:

loaders

致:

rules

来源: 装载机

例如:

module.exports = {
module: {
rules: [
{ test: /\.css$/, use: 'css-loader' },
{ test: /\.ts$/, use: 'ts-loader' }
]
}
};

在 webpack 4中使用 rules而不是 loaders

Https://webpack.js.org/concepts/loaders/

以上给出的答案正在工作,但我们可以通过更改 webpack 和 webpack-dev-server 版本来解决这个问题

"webpack": "3.8.1",
"webpack-dev-server": "2.9.4"

它也可以解决这个问题。希望它能有所帮助。

你应该使用 移民公用事业来迁移你的 webpack 配置文件,它为我工作。

迁移文件也很有用。

在 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' }
]
}
}

我正在使用 Webpack 5,并从 Webpack.config 中删除了下面的 config。 它可以帮助其他一些仍然面临错误的人

        {
test: /\.css$/,
use: ['style-loader', 'css-loader']
},