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

发布时间:2024年01月20日
  1. 下载uglifyjs-webpack-plugin插件

  1. 在vue.config文件中进行配置
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,
				})
			)
		}
	},

文章来源:https://blog.csdn.net/qq_52526079/article/details/135629055
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。