Web前端(12)-vue代码读取package.json中的version

原因

我修改了vue的代码后,重新打包上传到服务器var/www上面,结果发现浏览器根本没有拉最新的网页,还是用的之前的。所以有点疑惑如何让浏览器加载最新的网页,而不是用缓存。

方案

找了一下AIGC,给的建议其中一个是用版本的方案来控制,因为vue的package.json中有一个version,所以可以直接修改,但是如何验证已经是最新的version的网页呢。

就需要网页中能够查看这个版本号。

实施

1、试错

开始AIGC让去直接js代码中读取package.json中的version,用客户端的思想想了一下感觉还可行,运行上去直接报找不到package.json文件,结果发现打包的文件根本就没有了package.json。

js 复制代码
 // const response = await axios.get('/config.json');
 // 打包后根本没有这个文件

AIGC还是坑啊。

2、正解

通过环境变量来控制。

在vue.config.js中配置如下:

js 复制代码
const webpack = require('webpack');//代码中获取package.json中的version
module.exports = defineConfig({
  configureWebpack: { 
    plugins: [ 
      new webpack.DefinePlugin({ 
        'process.env.VUE_APP_VERSION': JSON.stringify(require('./package.json').version) 
      }) 
    ] 
  } 
})

页面js中直接获取

js 复制代码
    const versionNumber = process.env.VUE_APP_VERSION; 
    console.log("version = ", versionNumber);
    version.value = versionNumber;

然后更新代码后就可以更新这个版本号,重新上传到服务器后,刷新网页就能看到当前是不是这个最新版本号,如果是就说明网页已经生效了。

相关推荐
MaAidan1 小时前
用 Agent 排查线上问题:SLS 日志分析 + DB/Redis 数据验证,一条链路搞清楚
前端·bootstrap·html
墨林陌1 小时前
AI 热点日报(2026-11-03):美团发布 1.6 万亿参数国产大模型,四大厂商共推 AI 训练退出标准
前端
Moment1 小时前
DeepSeek 发布新模型,直接把 Agent 联网搜索的门槛打下来了!
前端·后端
雪芽蓝域zzs1 小时前
WebStorm Uniapp Support + Uniapp Tool + Uniappx Language Service讲解
vue.js·uni-app·webstorm
AI宇宙狂想家1 小时前
开源 AI 视频工具进化史:从难用到好用,OpenMontage 改了什么
开发语言·前端·人工智能·开源·ai创业·openmontage
Sailing2 小时前
🚀🚀【封闭结束7】Agent 为什么总是“失忆”?从长期记忆到上下文工程的生产实践
前端·人工智能·agent
OpenTiny社区2 小时前
AI 生成的 Vue 代码,终于能直接用了!
前端·vue.js·github
tryCbest2 小时前
Vue3——第 12 篇:组合式 API(下)——Composables 与逻辑3
vue.js
Ramble_Naylor2 小时前
Rust深度解读:高性能 Web 网关与 Axum 架构剖析
前端·架构·rust
程序员飞哥2 小时前
AI 编程额度怎么用才不浪费?
java·前端·后端