lihuifang
lihuifang
  • 发布:2023-12-05 10:35
  • 更新:2023-12-05 10:35
  • 阅读:285

发布时动态修改 manifest.json 有延迟

分类:HBuilderX

产品分类: HbuilderX

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 14.1.1 (23B81)

HBuilderX版本号: 3.98

示例代码:

// 发布时动态修改 manifest.json
const manifestPath = path.resolve(__dirname, './manifest.json')
let Manifest = fs.readFileSync(manifestPath, {
encoding: 'utf-8'
});

function replaceManifest(path, value) {
const arr = path.split('.');
const len = arr.length;
const lastItem = arr[len - 1];

let i = 0;  
let ManifestArr = Manifest.split(/\n/);  

for (let index = 0; index < ManifestArr.length; index++) {  
    const item = ManifestArr[index];  
    if (new RegExp(`"${arr[i]}"`).test(item)) ++i;  
    if (i === len) {  
        const hasComma = /,/.test(item);  
        ManifestArr[index] = item.replace(  
            new RegExp(`"${lastItem}"[\\s\\S]*:[\\s\\S]*`),  
            `"${lastItem}": ${value}${hasComma ? ',' : ''}`  
        );  
        break;  
    }  
}  

Manifest = ManifestArr.join('\n');  

}
// 使用 "/qyppzs_gzh/wx/"
replaceManifest('h5.router.base', "\"/qyppzs_gzh/jtm9\"");
fs.writeFileSync(manifestPath, Manifest, {
flag: 'w',
});

操作步骤:

如上

预期结果:

能正常按我修改的配置并正确打包出来

实际结果:

能正常按我修改的配置并正确打包出来

bug描述:

发布时动态修改 manifest.json 有延迟 我想修改h5.router.base的值 每次打包出来的html文件里的路径都是上上一次定义的值,好像修改的manifest.json文件没有立马生效,而是在保存生效前编译器已经读取了manifest.json的配置了,导致修改失败!

2023-12-05 10:35 负责人:无 分享
已邀请:

要回复问题请先登录注册