每次vue更新打包之后 浏览器缓存机制不能很及时的更新,用户体现不是很好。
解决方案
1.配置vue.config.js按时间戳打包
vue 默认配置,打包后 css 和 js 的名字后面都加了哈希值,不会有缓存问题。
const timeStamp= new Date().getTime();
module.exports = {
//基本路径
publicPath: '/',//默认的'/'是绝对路径,如果不确定在根路径,改成相对路径'./'
// 输出文件目录
outputDir: 'dist',
assetsDir: 'static',
indexPath: 'index.html',
// eslint-loader 是否在保存的时候检查
lintOnSave: true,
// 生产环境是否生成 sourceMap 文件
productionSourceMap: false,
// css相关配置
css: {
// 是否使用css分离插件 ExtractTextPlugin
extract: {
// 修改打包后css文件名 // css打包文件,添加时间戳
filename: `assets/css/[name].${timeStamp}.css`,
chunkFilename: `assets/css/[name].${timeStamp}.css`,
},
loaderOptions: {
postcss: {
postcssOptions: {
plugins: [
require('postcss-pxtorem')({ // 把px单位换算成rem单位
remUnit: 12, // vant官方使用的是37.5 // 忽略转换正则匹配项
propList: ['*']
})
]
}
},
}
},
configureWebpack: {
output: { // 输出 添加时间戳到打包编译后的js文件名称
filename: `assets/js/js[name].${timeStamp}.js`,
chunkFilename: `assets/js/js[name].${timeStamp}.js`,
}
},
devServer:{
open:true,
host:'localhost'
}
};