uniapp(vue2)动态修改manifest参数
2、和manifest文件同目录新建modifyManifest.js文件。4、vue.config.js中引入 modifyManifest。1、package.json修改。
·
1、package.json修改
build:mp-xxxxx": "cross-env NODE_ENV=xxxxxxx UNI_OUTPUT_DIR=dist/build/mp-weixin UNI_PLATFORM=mp-weixin vue-cli-service uni-build"
2、和manifest文件同目录新建modifyManifest.js文件
const fs = require('fs');
const manifestPath = process.env.UNI_INPUT_DIR + '/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')
}
console.log(process.env.NODE_ENV)
// 动态配置 appid。下面要修改的appid必须死后单引号包双引号
if (process.env.NODE_ENV == 'xxxxxxxxx') {
replaceManifest('mp-weixin.appid', '"需要修改的appid"')
} else {
replaceManifest('mp-weixin.appid', '"需要修改的appid""')
}
fs.writeFileSync(manifestPath, Manifest, {
"flag": "w"
})
4、vue.config.js中引入 modifyManifest
require('./src/modifyManifest')
更多推荐
已为社区贡献1条内容
所有评论(0)