Vue uglify js -webpack-plugin параметр сжатия не работает - PullRequest
2 голосов
/ 28 мая 2020

Я работаю с Vue и хочу настроить опцию предупреждений в продакшене. Я использую uglify js -webpack-plugin.

Когда я выполняю npm run build, запускается процесс сжатия, но появляется ошибка

ERROR in assets/js/app.js from UglifyJs
RangeError: Maximum call stack size exceeded
    at Array.push (<anonymous>)

Я пробовал

node --stack-size=984 node_modules/uglifyjs-webpack-plugin  src/app.js

Это мой пакет - json

"dependencies": {
    "bulma": "^0.5.1",
    "express": "^4.17.1",
    "rimraf": "^3.0.2",
    "serialize-javascript": "^1.3.0",
    "uglifyjs-webpack-plugin": "^2.2.0",
    "vue": "^2.6.11",
    "vue-router": "^2.7.0",
    "vue-server-renderer": "^2.6.11",
    "vuex": "^2.4.0"
  },

webpack.client.config. js

const base = require('./webpack.base.config')
const webpack = require('webpack')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')


const ExtractTextPlugin = require('extract-text-webpack-plugin')

const config = Object.assign({}, base, {
  plugins: base.plugins || []
})

config.module.rules
  .filter(x => { return x.loader == 'vue-loader' })
  .forEach(x => x.options.extractCSS = true)

config.plugins.push(
  new ExtractTextPlugin('assets/styles.css')
)

if (process.env.NODE_ENV === 'production') {
  config.plugins.push(
    new UglifyJsPlugin({
      uglifyOptions: {
        warnings: false
      }
    })
  )
}
module.exports = config
...