// 发布时动态修改 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',
});
0 个回复