uniapp cli打包怎么不修改manifest.json配置文件

在使用uniapp cli打包时,如何避免自动修改manifest.json配置文件?每次打包后manifest.json都会被覆盖,导致手动配置的改动丢失。有没有办法让打包过程不更新这个文件?

2 回复

使用HBuilderX的发行菜单打包,或通过命令行参数指定配置,避免直接修改manifest.json。


在 UniApp CLI 项目中,打包时避免修改 manifest.json 配置文件,可以采取以下方法:

  1. 使用环境变量或配置文件
    将需要动态修改的配置(如 AppID、版本号)提取到外部文件(如 config.js),通过脚本在打包时注入,保持 manifest.json 不变。

  2. 通过 CLI 命令参数覆盖配置
    使用 --manifest 参数指定自定义配置,但需提前准备多个配置文件并手动切换。

  3. 编写构建脚本
    在打包前复制原始 manifest.json 到备份文件,打包后恢复,确保原文件不被修改。

示例脚本(Node.js)

const fs = require('fs');
const { execSync } = require('child_process');

// 备份 manifest.json
fs.copyFileSync('./manifest.json', './manifest.backup.json');

try {
  // 执行打包命令(示例为H5平台)
  execSync('uni build --platform h5', { stdio: 'inherit' });
} finally {
  // 恢复 manifest.json
  fs.copyFileSync('./manifest.backup.json', './manifest.json');
  fs.unlinkSync('./manifest.backup.json');
}

注意

  • 确保脚本在项目根目录运行。
  • 不同平台(如 App、H5)需调整 --platform 参数。
  • 若需动态配置,建议结合 CI/CD 流程生成临时 manifest 文件。

此方法可保持配置文件的稳定性,适合自动化部署场景。

回到顶部