资讯专栏INFORMATION COLUMN

vue cli 3.x 生产环境去除console采坑记

kgbook / 3477人阅读

摘要:移除总结使用插件配置如下移除没成功报错如下配置参考优化实践删除和配置最终还是没有成功,报错如下使用插件安装依赖库配置如下生产环境移除总结该方案成功了

vue-cli 3.x 移除console总结 使用 uglifyjs-webpack-plugin 插件
配置如下:
// vue.config.js
const UglifyJsPlugin = require("uglifyjs-webpack-plugin")
module.exports = {
    configureWebpack: {
        optimization: {
          minimizer: [
            new UglifyJsPlugin({
              uglifyOptions: {
                compress: {
                  warnings: false,
                  drop_console: true,//console
                  drop_debugger: false,
                  pure_funcs: ["console.log"]//移除console
                }
              }
            })
          ]
        }
  },
}
没成功报错如下
$ vue-cli-service build

⠋  Building for production...

 ERROR  Failed to compile with 5 errors                                                                                                                                                                                     11:19:57 AM

 error  

static/js/app.2cd76486.js from UglifyJs
Unexpected token: punc «(» [static/js/app.2cd76486.js:1,23125]

 error  

static/js/chunk-66db1624.14c7d3b2.js from UglifyJs
Unexpected token: punc «(» [static/js/chunk-66db1624.14c7d3b2.js:1,733956]

 error  

static/js/exception_403.5d780122.js from UglifyJs
Unexpected token: punc «(» [static/js/exception_403.5d780122.js:1,281]

 error  

static/js/exception_404.3457fc52.js from UglifyJs
Unexpected token: punc «(» [static/js/exception_404.3457fc52.js:1,281]

 error  

static/js/exception_500.94c7c527.js from UglifyJs
Unexpected token: punc «(» [static/js/exception_500.94c7c527.js:1,283]

 ERROR  Build failed with errors.
error Command failed with exit code 1.

配置optimization.minimizer

参考 vuecli3+webpack4优化实践(删除console.log和配置dllPlugin)

// vue.config.js
module.exports = {
    chainWebpack: (config) => {
        if (process.env.NODE_ENV === "production") {
          config.optimization.minimizer[0].options.terserOptions.compress.warnings = false
          config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
          config.optimization.minimizer[0].options.terserOptions.compress.drop_debugger = true
          config.optimization.minimizer[0].options.terserOptions.compress.pure_funcs = ["console.log"]
        }
    }
}
最终还是没有成功,报错如下:
$ vue-cli-service build

⠋  Building for production... ERROR  TypeError: Cannot read property "options" of undefined
TypeError: Cannot read property "options" of undefined
使用babel-plugin-transform-remove-console插件
安装依赖库
$ npm install babel-plugin-transform-remove-console --save-dev
# or
$  yarn add babel-plugin-transform-remove-console --dev
【babel.config.js】配置如下
const plugins = ["@vue/babel-plugin-transform-vue-jsx"]
// 生产环境移除console
if(process.env.NODE_ENV === "production") {
  plugins.push("transform-remove-console")
}
module.exports = {
  plugins: plugins,
  presets: [
    [
      "@vue/app", {
        modules: false,
        targets: {
          browsers: ["> 1%", "last 2 versions", "not ie <= 8", "Android >= 4", "iOS >= 8"]
        },
        useBuiltIns: "entry",
      }
    ]
  ]
}
总结该方案成功了

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104183.html

相关文章

  • vue-cli3.x 新特性及踩坑记

    摘要:前言都到了,所以是时候玩转一下的新特性了。安装的包名称由改成了。方法一原因的配置改变了,导致正确的不能用。打开终端,切换到根路径文件里面修改为方法二是默认路径修改了路径会出现错误。按上面的方法修改完,再全局卸载果然就成功了。 showImg(https://segmentfault.com/img/remote/1460000016423946); 前言 vue-cli 都到 3.0....

    xiaoqibTn 评论0 收藏0
  • vue-cli 3.x 移除console总结

    摘要:网上找了很多的配置,很多已经不适用了,把采坑的经历记录下来,供参考。一使用插件配置如下移除没成功报错如下二配置参考优化实践删除和配置最终还是没有成功,报错如下三使用插件参考安装依赖库配置如下生产环境移除总结该方案成功了 网上找了很多vue-cli 3.x的配置,很多已经不适用了,把采坑的经历记录下来,供参考。 一、使用 uglifyjs-webpack-plugin 插件 配置如下: ...

    jsbintask 评论0 收藏0
  • Vue + TypeScript + Element 项目实践(简洁时尚博客网站)及踩坑记

    摘要:前言本文讲解如何在项目中使用来搭建并开发项目,并在此过程中踩过的坑。具有类型系统,且是的超集,在年势头迅猛,可谓遍地开花。年将会更加普及,能够熟练掌握,并使用开发过项目,将更加成为前端开发者的优势。 showImg(https://segmentfault.com/img/remote/1460000018720573); 前言 本文讲解如何在 Vue 项目中使用 TypeScript...

    luckyyulin 评论0 收藏0
  • vue-cli +webpack+vue-router 踩坑记

    摘要:其中定义了一些命令,还记得我们初始化项目完成后执行其实就是执行简单的来说是运行时依赖生产环境,是开发时的依赖开发环境相应的在安装包时,有两种命令参数可以把它们的信息写入文件,会把依赖包名称添加到文件键下,则添加到文件键下。 这次主要是记录下自己在做vue-cli +webpack +vue-router 的经历 以及一些踩过的坑,算是做一个简单的总结 一.vue的基本介绍 1)渐进式的...

    OpenDigg 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<