请教一个静态资源处理的问题

2020-08-05 17:07:22 +08:00
 BreadKiller

项目中有个 config.xml 需要在打包后的根目录中,打包后的目录如下:

目前的做法是直接把 config.xml 放在 public 的文件夹中以静态资源打包。

在项目中和这个 config.xml 都有需要用到项目的版本号,我直接在 js 里读取 package.json 的 version,但是在静态资源的这个 config.xml 没办法读取 package.json 的信息。

所以有没有什么办法可以让这个 config.xml 也能读取到一个全局的 version,这样就不需要每次修改版本号都要修改两个文件了。

项目是用脚手架 vuecli 生成的

1724 次点击
所在节点    Vue.js
4 条回复
yhxx
2020-08-05 17:28:18 +08:00
打包的时候搞个 webpack 插件把 version 直接写进这个 xml 文件里?
zzk1989
2020-08-05 17:55:02 +08:00
楼上已经告诉你了,还有一种方案
1. vue-cli 有 hooks done ,在里面 configureWebpack 里面注册一个插件在打包完成后用 fs 写文件
2. npm 脚本也有 post 钩子,新建一个 scripts 在单独的 js 中也能处理 比如"postbuild"
liberty1900
2020-08-05 19:46:15 +08:00
config.xml 放上占位符, build script 里面写 linux 命令 (grep + sed 应该就行), 每次 build 自动从 package.json 读取 version 替换 config.xml 里的占位符
BreadKiller
2020-08-05 19:54:52 +08:00
@liberty1900 @zzk1989 @yhxx 感谢回复!我看看哪种方便一点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/695904

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX