摘要:网上找了很多的配置,很多已经不适用了,把采坑的经历记录下来,供参考。一使用插件配置如下移除没成功报错如下二配置参考优化实践删除和配置最终还是没有成功,报错如下三使用插件参考安装依赖库配置如下生产环境移除总结该方案成功了
网上找了很多vue-cli 3.x的配置,很多已经不适用了,把采坑的经历记录下来,供参考。
一、使用 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插件
</>复制代码
参考 https://forum.vuejs.org/t/rem...
</>复制代码
# 安装依赖库
$ 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/104184.html
摘要:移除总结使用插件配置如下移除没成功报错如下配置参考优化实践删除和配置最终还是没有成功,报错如下使用插件安装依赖库配置如下生产环境移除总结该方案成功了 vue-cli 3.x 移除console总结 使用 uglifyjs-webpack-plugin 插件 配置如下: // vue.config.js const UglifyJsPlugin = require(uglifyjs-we...
摘要:主要是首屏加载太慢。文件按需加载如果没有这个设置,项目首屏加载时会加载整个网站所有的文件,所以将文件拆开,点击某个页面时再加载该页面的是一个很好的优化方法。在中,不要使用的方法引入组件,使用。使用插件,将的值改成。 主要是首屏加载太慢。 大文件定位我们可以使用webpack可视化插件Webpack Bundle Analyzer 查看工程js文件大小,然后有目的的解决过大的js文件。 ...
摘要:主要是首屏加载太慢。文件按需加载如果没有这个设置,项目首屏加载时会加载整个网站所有的文件,所以将文件拆开,点击某个页面时再加载该页面的是一个很好的优化方法。在中,不要使用的方法引入组件,使用。使用插件,将的值改成。 主要是首屏加载太慢。 大文件定位我们可以使用webpack可视化插件Webpack Bundle Analyzer 查看工程js文件大小,然后有目的的解决过大的js文件。 ...
摘要:根据模板插入等生成最终生成的存放路径,相对于的路径模板路径插入的位置,路径设置属性,属性值是所在的路径。配置后,在使用时将不再需要和进行引入,直接使用即可。 一 webpack.base.conf.js 1. entry 为入口文件 1.1 在此可以绑定 babel 垫片 处理ie兼容 1.2 我们大部分为单页面应用(SPA),配置多页面也可以在此配置 2. resol...
阅读 3214·2021-11-11 16:55
阅读 3494·2021-10-18 13:34
阅读 743·2021-10-14 09:42
阅读 1804·2021-09-03 10:30
阅读 1085·2021-08-05 10:02
阅读 1132·2019-08-30 11:27
阅读 3625·2019-08-29 15:14
阅读 1402·2019-08-29 13:02