【问题标题】:unknown property 'optimization'未知属性“优化”
【发布时间】:2018-09-16 23:24:31
【问题描述】:

我将尝试将 uglify 与 webpack 一起使用,但出现此错误:

Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration has an unknown property 'optimization'. These properties are valid:
   object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }

我有

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

optimization: {
        minimizer: [new UglifyJsPlugin()]
    }

在我的 webpack.config.js 中,看起来 webpack 无法识别“优化”?

【问题讨论】:

    标签: webpack uglifyjs


    【解决方案1】:

    也许您使用的是旧的 webpack 版本(3?),您可能需要将插件实例放在 plugin 属性中:

    module.exports = {
        ...
        plugins: [new UglifyJSPlugin()]
    };
    

    始终尝试查找与您正在使用的版本匹配的文档或将 webpack 更新到较新的版本。当前版本为 4.19.0(2018-09-17)。

    【讨论】:

    • 谢谢,但我运行了 webpack --v 并得到了 5.6.0,我认为是最新的?我尝试了插件行,但没有运气,说 .../webpack.js:315 throw e; ^ TypeError: Cannot read property 'compilation' of undefined at UglifyJsPlugin.apply (.../node_modules/uglifyjs-webpack-plugin/dist/index.js:321:20)
    • 奇怪地重新安装 webpack 使它现在可以工作了。感谢您的回答。
    【解决方案2】:

    我也遇到了同样的情况,请清除您的 node_modules 并重新安装它们。

    【讨论】: