1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > uglifyjs-webpack-plugin 清除项目console 设置配置文件 vue打包css js加版本号

uglifyjs-webpack-plugin 清除项目console 设置配置文件 vue打包css js加版本号

时间:2021-02-25 01:07:16

相关推荐

uglifyjs-webpack-plugin 清除项目console 设置配置文件 vue打包css js加版本号

安装:

npm install uglifyjs-webpack-plugin --save

创建vue.config.js

// 引入uglifyjs-webpack-pluginconst UglifyPlugin = require('uglifyjs-webpack-plugin')module.exports = {configureWebpack: (config) => {let optimization = {minimizer: [new UglifyPlugin({// 删除consoleuglifyOptions: {parallel: true,warnings: false,compress: {drop_console: false, //是否清除所有consoledrop_debugger: true,//是否清除debuggerpure_funcs: ['console.log','console.info','console.warn','console.debug'] //drop_console 设置false,需要特殊清除的}}})]}Object.assign(config, {optimization})}}

特殊判断(生产环境使用):

1.项目目录创建

.env.dev 文件

NODE_ENV = 'development'VUE_APP_TITLE = 'development'

.env.prod 文件

NODE_ENV='production'VUE_APP_TITLE='prod'

2.使用:

安装 npm installprocess --save

package.json 配置修改,加载配置文件

"scripts": {"serve": "vue-cli-service serve --mode dev", //加载.env.dev 配置文件"build": "vue-cli-service build --mode prod", //加载.env.prod配置文件},

process.env.NODE_ENV 可以获取项目的配置的环境

3. 生产环境清除console

// 引入uglifyjs-webpack-pluginconst UglifyPlugin = require('uglifyjs-webpack-plugin')module.exports = {configureWebpack: (config) => {if (process.env.NODE_ENV == 'production') {// 为生产环境修改配置config.mode = 'production'// 将每个依赖包打包成单独的js文件let optimization = {minimizer: [new UglifyPlugin({// 删除consoleuglifyOptions: {parallel: true,warnings: false,compress: {drop_console: false, //是否清除所有consoledrop_debugger: true,//是否清除debuggerpure_funcs: ['console.log','console.info','console.warn','console.debug'] //drop_console 设置false,需要特殊清除的}}})]}Object.assign(config, {optimization})} else {// 为开发环境修改配置config.mode = 'development'}}}

uglifyjs-webpack-plugin->

vue 解决每次发版后要清理浏览器缓存(css,js加版本号)

1.安装standard-version

npm install standard-version --save--dev

2.package.json 配置:scripts加

"scripts": {"release": "standard-version --no-verify --release-as patch && git push --follow-tags", //小版本"release:minor": "standard-version --no-verify --release-as minor && git push --follow-tags", //中版本"release:major": "standard-version --no-verify --release-as major && git push --follow-tags", //大版本},

3.vue.config.js配置

// 版本号const config = require('./package.json');let version = config.version.replace('.','').replace('.','');module.exports = {configureWebpack: (config) => {// 打包后js文件名称添加时间戳config.output.filename = `js/[name].${version}.js`;config.output.chunkFilename = `js/[name].${version}.js`;// config.output.chunkFilename = `js/chunk.[id].${version}.js`;},css: { // chunkFilename: `css/chunk.[id].${version}.css`,extract: { // 打包后css文件名称添加时间戳filename: `css/[name].${version}.css`,chunkFilename: `css/[name].${version}.css`,}}}

4.使用:

1).打包之前先运行 npm runrelease 或其他两个,自动增加版本号

2).运行打包

OTHER:(standard-version和commitizen混合配置可以实现动化 项目版本控制)

package.json 配置后的关键:

{"name": "","version": "","description": "","scripts": {"commit": "git add . && git cz","release": "standard-version -- --release as patch && git push --follow-tags","release:minor": "standard-version -- --release as minor && git push --follow-tags","release:major": "standard-version -- --release as major && git push --follow-tags"},"devDependencies": {"commitizen": "^4.2.4","cz-conventional-changelog": "^3.2.0","standard-version": "^9.3.1"},"config": {"commitizen": {"path": "./node_modules/cz-conventional-changelog"}}}

可以参考其他同行的配置

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。