webpack项目和vue项目发布,浏览器存在缓存

这篇具有很好参考价值的文章主要介绍了webpack项目和vue项目发布,浏览器存在缓存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目是webpack搭建的每次发步到线上,经常需要手动清楚浏览器缓存才能有效果。vue项目设置在最下面

项目打包的js(css也是一致)名称都采用哈希值
webpack项目和vue项目发布,浏览器存在缓存,webpack,缓存,前端
问题:哈希值在有些情况下打包会不变,导致浏览器使用自己缓存的资源

解决:每次打包出来增加时间戳每次打包后的js名称都不一致

  • 1.js处理 每个项目的打包逻辑都不一样,根据package.json中的打包指令找到执行的文件修改 static是本地静态资源的文件夹
let time = new Date().getTime()
output: {
    path: config.build.assetsRoot,
    filename: `static/js/[name].[chunkhash:8].${time}.js`,
    chunkFilename:`static/js/[name].[chunkhash:8].${time}.js`
  },

webpack项目和vue项目发布,浏览器存在缓存,webpack,缓存,前端

  • 2.css处理 可以使用css分离插件 MiniCssExtractPlugin
const MiniCssExtractPlugin = require("mini-css-extract-plugin");

plugins:[
new MiniCssExtractPlugin({
      filename: `static/css/[name].[contenthash:8].${time}.css`,
      chunkFilename:  `static/css/[name].[contenthash:8].${time}.css`,
    }),
]

打包结果

webpack项目和vue项目发布,浏览器存在缓存,webpack,缓存,前端

测试
打开线上环境 发现资源是缓存的 从networkwebpack项目和vue项目发布,浏览器存在缓存,webpack,缓存,前端

然后我们发布下
webpack项目和vue项目发布,浏览器存在缓存,webpack,缓存,前端

vue项目处理其实一样,改打包输出的名字
vue.config.js文章来源地址https://www.toymoban.com/news/detail-563181.html

time 时间戳
  
module.exports = {
	configureWebpack: {
    output: {
      filename: `js/[name].${time}.js`,
      chunkFilename: `js/[name].${time}.js`,
     
    },
    
  },

 chainWebpack: config => {
		config.plugins.delete("prefetch");
    config.plugin("extract-css").tap((args) => [
      {
        filename: `css/[name].${time}.css`,
        chunkFilename: `css/[name].${time}.css`,
      },
    ]);

	}


}

到了这里,关于webpack项目和vue项目发布,浏览器存在缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue项目使用js监听浏览器关闭、刷新、后退事件

    在项目的某些页面中,在执行某些接口调用过程的时候,如果用户选择刷新、关闭或者后退浏览器。有可能会造成接口被阻断,所以可能你会需要js监听浏览器关闭、刷新、后退事件,在进行这些操作的时候给个提示。如下图: end~

    2024年02月16日
    浏览(40)
  • 如何在VSCode内嵌浏览器实时预览Vue项目

    安装以下两个插件:just heml preview 和 Browser Preview just heml preview:使用ctrl + shift + p 打开命令 然后输入:just preview 即可打开 输入本地项目地址:localhost:4000 最后可按照vscode正常分屏方式分屏(右上角有pc端和移动端) Browser Preview:现已不再维护 安装成功后左边会出现一个类似

    2024年01月22日
    浏览(72)
  • Qt 嵌入Vue项目 flapMap 浏览器兼容性问题

    最近有个需求,Qt工程需要嵌入vue项目,本来是很简单的事情。在我的PC上启动Vue项目,同事PC上用浏览器通过IP地址可以正常加载vue项目,但用Qt嵌入总是失败。问题定位步骤如下: 1)换了一个简单的vue项目,发现没有问题,Qt工程能正常加载vue项目 2)由于Qt不像浏览器那样

    2024年02月12日
    浏览(41)
  • vue项目版本打包更新后文件及浏览器存在缓存问题解决方案

    在vue.config.js中配置output,打包后的文件会带时间戳 在public/static目录下新建version.json文件  在src中新建 utils文件夹 文件夹中新建versionUpdate.js文件  在src文件夹下创建addVersion.js  写法二 修改package.json中scripts中的打包命令 版本号自加使用fs修改文件来实现 具体思路是:在执行

    2024年02月11日
    浏览(45)
  • 整理各种Vue项目在IE浏览器白屏报错 SCRIPT1002:语法错误

    目录 一、关于 sockjs-client 依赖包 二、关于 highlight 依赖包 三、关于 swiper 依赖包 四、IE 不支持 ES6 语法 五、第三方插件引入导致 六、本地环境正常,生产环境仍旧白屏 这篇文章主要介绍了 Vue 项目在 IE 浏览器显示白屏并报错 SCRIPT1002: 语法错误 的案例 Bug 背景 :接手一个新

    2024年02月06日
    浏览(44)
  • 将web如vue等项目部署到宝塔docker镜像中,以便能在任意浏览器访问

    仅需确认宝塔面板已经有docker镜像容器 目前新版宝塔面板都已经内置了docker功能模块,如下图: 1、从已经推送的镜像中拉取镜像 如果你用的是docker desktop等工具制作的镜像,并且也已经推送到了 https://hub.docker.com/ 中,即可以在该网站搜索看到对应的镜像,就可以在 宝塔d

    2024年01月16日
    浏览(37)
  • Jenkins+vue发布项目

    在Jenkins 中先创建一个任务名称 然后进行下一步,放一个项目 填写一些参数 参数1: 参数2: 参数3: 参数4: 点击保存就行了 配置脚本 在harbor网站里创建一个项目对应 harbor_project 与脚本相互对应, 如果不创建,镜像创建不成功 在下面这个网站里创建一个 k8s_namespace 与上面

    2024年02月07日
    浏览(38)
  • 将vue项目变成可发布的npm包项目

    第一步: 在main.ts 文件的平级上新建一个index.ts文件 ,文件中导出你想发布的组件 第二步: 在package.json文件的平级上新建index.js文件  第三步: 修改package.json文件,新增命令     \\\"buildnpm\\\": \\\"vue-cli-service build --target lib --name preview src/index.ts\\\"

    2024年02月07日
    浏览(35)
  • devops-发布vue前端项目

    回到目录 将使用jenkins+k8s发布前端项目 node环境 在部署jenkins的服务器上搭建node环境 node版本 验证环境没有问题后,将文件移动到jenkins的目录下 因为是docker部署的jenkins,挂载目录是/usr/local/docker/docker-jenkins/data,所以必须将node环境移动到该目录下,jenkins才能加载到 jenkins中下

    2024年02月14日
    浏览(33)
  • Unity发布webgl获取浏览器的URL

    Unity发布webgl之后获取浏览器的url 在unity中创建文件夹 Plugins ,然后添加添加文件 UnityGetBrowserURL.jslib 在Unity中添加代码 场景布局 发布webgl 拷贝到nginx 运行结果 在地址栏输入 Ip:端口号/?serligblsdhroivbaelirbgvkersab , /? 后面是随便打的字符,然后按下enter会刷新网页并重新显示URL,(

    2024年03月20日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包