Webpack:未知参数:模式/配置具有未知属性“模式”

时间:2018-04-30 12:12:48

标签: webpack mode

对此感到疯狂,真的错过了什么......

我有webpack 4.6.0,webpack-cli ^ 2.1.2,所以最新的。

遵循文档(https://webpack.js.org/concepts/mode/),想要使用模式来配置,一个用于生产,一个用于开发,但我得到:

配置[0]具有未知属性“模式”。这些属性是有效的:    object {amd?,bail?,cache?,context?,dependencies?,devServer?,devtool ?, entry,externals?,loader?,module ?, name?,node?,output?,parallelism?,performance?,plugins ?,profile?,recordsInputPath?,recordsOutputPath?,recordsPath?,resolve?,resolveLoader?,stats?,target?,watch?,watchOptions? }

我错过了什么:O ?????

paste

3 个答案:

答案 0 :(得分:11)

好的,问题是我在全球安装了一个旧的webpack,我认为......

答案 1 :(得分:1)

我的系统上全局运行了一些旧版本。 一旦删除它们,一切就开始对我起作用。 我跑了:which webpack看他们从哪里来。 我同时安装了npm和ruby宝石,所以将它们都移除了。

通过NPM卸载

npm un -g webpack

卸载Ruby Gems

它可能会提示您卸载哪个版本。我全部选择。

gem uninstall webpacker

我安装了一些宝石红宝石,所以我不得不运行gem uninstall webpacker,最终删除了所有宝石。然后,我不得不再次运行bundle install。运行which webpack以确定全局安装位置会很有用。我建议全局将其卸载以用于ruby gems和npm。要使用npm进行卸载,请执行以下操作:npm un -g webpack

答案 2 :(得分:0)

对于必须支持旧软件的用户(嗨 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')
+        })
+    ],
[...]