项目上线存在的缓存问题以及存在的debugger和console.log等问题

  1. 下载uglifyjs-webpack-plugin插件
  1. 在vue.config文件中进行配置
javascript 复制代码
publicPath: process.env.NODE_ENV === 'production' ? './' : '/',
	outputDir: 'n-sim-ipc-manage-build',
	productionSourceMap: false,
	configureWebpack: config => {
		//打包文件增加hash
		config.output.filename = `js/[name].[hash].${timeStamp}.js`
		config.output.chunkFilename = `js/[name].[hash].${timeStamp}.js`
		if (process.env.NODE_ENV === 'production') {
			config.plugins.push(
				//开启gzip压缩
				new CompressionWebpackPlugin({
					filename: '[path].gz[query]',
					algorithm: 'gzip',
					test: productionGzipExtensions,
					threshold: 1024,
					minRatio: 0.8,
				}),
				//build之后生成压缩包
				new FileManagerPlugin({
					events: {
						onEnd: {
							delete: [
								'./*.zip', // 删除之前已经存在的压缩包
							],
							archive: [
								{
									source: './n-sim-ipc-manage-build',
									destination: `./n-sim-ipc-manage-build-${dayjs().format(
										'YYYYMMDDHHmmss'
									)}.zip`,
								},
							],
						},
					},
				})
			)
			//配置打包去除console等
			config.optimization.minimizer.push(
				new UglifyJsPlugin({
					uglifyOptions: {
						output: {
							// 删除注释
							comments: false,
						},
						//生产环境自动删除console
						compress: {
							// warnings: false, // 若打包错误,则注释这行
							drop_debugger: true, //清除 debugger 语句
							drop_console: true, //清除console语句
							pure_funcs: ['console.log'],
						},
					},
					sourceMap: false,
					parallel: true,
				})
			)
		}
	},
相关推荐
奋斗的小羊羊33 分钟前
HTML5关键知识点之多种视频编码工具的使用方法
前端·音视频·html5
前端呆猿39 分钟前
深入解析HTML5中的object-fit属性
前端·css·html5
再学一点就睡39 分钟前
实现大文件上传全流程详解(补偿版本)
前端·javascript·面试
你的人类朋友2 小时前
【Node&Vue】什么是ECMAScript?
前端·javascript·后端
路灯下的光2 小时前
用scss设计一下系统主题有什么方案吗
前端·css·scss
l_tian_tian_3 小时前
SpringClound——网关、服务保护和分布式事务
linux·服务器·前端
一只小风华~3 小时前
CSS @media 媒体查询
前端·css·媒体
shix .3 小时前
最近 | 黄淮教务 | 小工具合集
前端·javascript
John_ToDebug4 小时前
Chrome 内置扩展 vs WebUI:浏览器内核开发中的选择与实践
前端·c++·chrome
烛阴4 小时前
解锁动态键:TypeScript 索引签名完全指南
前端·javascript·typescript