【问题标题】:Vue-Cli - Keep class names Webpack UglifyJSVue-Cli - 保留类名 Webpack UglifyJS
【发布时间】:2019-05-23 11:17:39
【问题描述】:

经过数小时的调试、测试和完全绝望,我找不到使用 UglifyJS for Webpack 和 Vue-CLI 禁用类/函数名称丑化的方法。

我试过这个及其组合:

optimization: {
    minimizer: [
        new UglifyJsPlugin({
            uglifyOptions: {
                keep_classnames: true,
                keep_fnames: true,
                compress: {
                    keep_classnames: true,
                    keep_fnames: true,
                },
                mangle: {
                    keep_classnames: true,
                    keep_fnames: true,
                },
            },
        }),
    ]
},
plugins: [
    new UglifyJsPlugin({
        uglifyOptions: {
            keep_classnames: true,
            keep_fnames: true,
            compress: {
                keep_classnames: true,
                keep_fnames: true,
            },
            mangle: {
                keep_classnames: true,
                keep_fnames: true,
            },
        },
    }),
],

似乎没有任何效果。我只是不能禁用类名丑化。

我需要依赖函数和类名,但这样所有类(更准确地说是 Vue 组件名 - 我使用的是基于类的组件)都被重命名为 E 作为类名。

有人可以帮我解决这个问题吗?

谢谢。

【问题讨论】:

  • 同样的问题,我也很绝望

标签: webpack uglifyjs vue-cli-3


【解决方案1】:

我能够保留类名(包括 Vue.js 组件):

    module.exports = {
      chainWebpack: config => {
        config.optimization
          .minimizer('terser')
          .tap(args => {
            const { terserOptions } = args[0]
            terserOptions.keep_classnames = true
            terserOptions.keep_fnames = true
            return args
          })
       }
    }

credits

【讨论】:

  • 这个必须放入的文件是vue.config.js(在vue-cli的情况下)
猜你喜欢
  • 2020-06-27
  • 1970-01-01
  • 1970-01-01
  • 2020-12-13
  • 2018-03-16
  • 2020-11-18
  • 2018-06-12
  • 1970-01-01
  • 2018-12-18
相关资源
最近更新 更多