有时候一套代码要在多个小程序appId下使用,其中又有一些数据(文字)需要做区分.可以使用下面的方法
把要配置的数据以export default 形式导出
在app.js中,引入project.config.0.js文件,将导出的数据放在globalData中
在页面目录中,即可利用getApp()方法使用全局变量
也可以放数据放在data中,作为响应式数据
生成配置文件的方法
将需要配置的数据以json格式编写
读取json文件,并用nodejs覆盖写入文件nodeswitch.js
注意下方用了2次fs.writeFile
const fs = require("fs");
const WSJCFG = require("./nodeswitch.json");
var companyName = process.argv.slice(2)[0] || 'acai'function writeConfig(inputFile, outputFile, fn) {const writeStream = fs.createWriteStream(outputFile);var str = fn(WSJCFG)writeStream.write(str)
}
writeConfig('project.config.0.js', './project.config.0.js', (cfg) => {var s = `export default {"idname": "${cfg[companyName].idname}","apiDomain": "${cfg[companyName].apiDomain}","gh_id": "${cfg[companyName].gh_id}","navigationBarTitleText": "${cfg[companyName].navigationBarTitleText}"
}`return s
})function mini(cfg) {var obj = require("./project.config.json");obj.appid = cfg[companyName].appid;fs.writeFile('project.config.json', JSON.stringify(obj, null, 2), 'utf8', function (err) {if (err) {console.error(err);return;}console.log('File has been successfully updated!');});
}
mini(WSJCFG)userUI(WSJCFG)function userUI(cfg) {var obj = require("./pages/index/index.json");obj.navigationBarTitleText = cfg[companyName].navigationBarTitleText;fs.writeFile('./pages/index/index.json', JSON.stringify(obj, null, 2), 'utf8', function (err) {if (err) {console.error(err);return;}console.log('File更新成功updated!');});
}