对此感到疯狂,真的错过了什么......
我有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
答案 0 :(得分:11)
好的,问题是我在全球安装了一个旧的webpack,我认为......
答案 1 :(得分:1)
我的系统上全局运行了一些旧版本。
一旦删除它们,一切就开始对我起作用。
我跑了:which webpack
看他们从哪里来。
我同时安装了npm和ruby宝石,所以将它们都移除了。
npm un -g webpack
它可能会提示您卸载哪个版本。我全部选择。
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')
+ })
+ ],
[...]