Webpack:未知参数:模式/配置具有未知 属性 'mode'
Webpack: Unknown argument: mode / configuration has an unknown property 'mode'
为此而疯狂,真的错过了一些东西....
我有 webpack 4.6.0,webpack-cli ^2.1.2,所以是最新的。
按照文档 (https://webpack.js.org/concepts/mode/),想要使用模式必须配置,一个用于生产,一个用于开发,但我得到:
配置[0] 有一个未知 属性 'mode'。这些属性是有效的:
object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, parallelism?, performance?, 插件?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
我错过了什么:O?????
module.exports = [
merge(base, {
mode: 'development',
output: {
path: path.resolve(__dirname, './public/assets/development'),
},
}),
merge(base, {
mode: 'production',
output: {
path: path.resolve(__dirname, './public/assets/production'),
filename: '[name].bundle.js',
},
}),
]
好的,问题是我在全局安装了一个较旧的 webpack,我想...
我的系统上全局有一些旧版本 运行ning。
一旦我删除它们,事情就开始为我工作。
我 运行: which webpack
看看他们来自哪里。
我同时安装了 npm 和 ruby gems,所以我将它们都删除了。
使用 NPM 卸载
npm un -g webpack
卸载Ruby 宝石
它可能会提示您卸载哪个版本。我都选了。
gem uninstall webpacker
我安装了一些 ruby 宝石,所以我不得不 运行 gem uninstall webpacker
我最终删除了所有宝石。然后我不得不再次 运行 bundle install
。 运行 which webpack
可以用来确定它的全局安装位置。对于 ruby gems 和 npm,我建议全局卸载它。使用 npm 卸载:npm un -g webpack
对于必须支持遗留软件的用户(嗨,Debian 朋友们),这里是从 v4 到 v3 支持的补丁。
[...]
+const webpack = require('webpack');
[...]
devtool: 'source-map',
- mode: 'production',
+ // mode: 'production', // Webpack >= 4
[...]
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env.NODE_ENV': JSON.stringify('production')
+ })
+ ],
[...]
为此而疯狂,真的错过了一些东西....
我有 webpack 4.6.0,webpack-cli ^2.1.2,所以是最新的。
按照文档 (https://webpack.js.org/concepts/mode/),想要使用模式必须配置,一个用于生产,一个用于开发,但我得到:
配置[0] 有一个未知 属性 'mode'。这些属性是有效的: object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, parallelism?, performance?, 插件?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
我错过了什么:O?????
module.exports = [
merge(base, {
mode: 'development',
output: {
path: path.resolve(__dirname, './public/assets/development'),
},
}),
merge(base, {
mode: 'production',
output: {
path: path.resolve(__dirname, './public/assets/production'),
filename: '[name].bundle.js',
},
}),
]
好的,问题是我在全局安装了一个较旧的 webpack,我想...
我的系统上全局有一些旧版本 运行ning。
一旦我删除它们,事情就开始为我工作。
我 运行: which webpack
看看他们来自哪里。
我同时安装了 npm 和 ruby gems,所以我将它们都删除了。
使用 NPM 卸载
npm un -g webpack
卸载Ruby 宝石
它可能会提示您卸载哪个版本。我都选了。
gem uninstall webpacker
我安装了一些 ruby 宝石,所以我不得不 运行 gem uninstall webpacker
我最终删除了所有宝石。然后我不得不再次 运行 bundle install
。 运行 which webpack
可以用来确定它的全局安装位置。对于 ruby gems 和 npm,我建议全局卸载它。使用 npm 卸载:npm un -g webpack
对于必须支持遗留软件的用户(嗨,Debian 朋友们),这里是从 v4 到 v3 支持的补丁。
[...]
+const webpack = require('webpack');
[...]
devtool: 'source-map',
- mode: 'production',
+ // mode: 'production', // Webpack >= 4
[...]
+ plugins: [
+ new webpack.DefinePlugin({
+ 'process.env.NODE_ENV': JSON.stringify('production')
+ })
+ ],
[...]