八卦阵 发表于 2024-8-20 23:51:07

微信小步伐引入全局环境变量

有时候一套代码要在多个小步伐appId下利用,其中又有一些数据(笔墨)需要做区分.可以利用下面的方法
把要设置的数据以export default 形式导出
https://i-blog.csdnimg.cn/direct/9b602745de7047efbe30b14eb696e86c.png
在app.js中,引入project.config.0.js文件,将导出的数据放在globalData中
https://i-blog.csdnimg.cn/direct/da65dd50947740a688bee11edfdf4dd9.png
 在页面目录中,即可利用getApp()方法利用全局变量
https://i-blog.csdnimg.cn/direct/1683f65c986a4c419ae1a798cde19acb.png
也可以放数据放在data中,作为相应式数据
https://i-blog.csdnimg.cn/direct/c6b058cf774e47caba877c22f48a4fb5.png
生成设置文件的方法

将需要设置的数据以json格式编写
https://i-blog.csdnimg.cn/direct/5f95bc7ac1f84c5fb83fee46eae8257c.png
读取json文件,并用nodejs覆盖写入文件nodeswitch.js
留意下方用了2次fs.writeFile
const fs = require("fs");
const WSJCFG = require("./nodeswitch.json");
var companyName = process.argv.slice(2) || '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.idname}",
"apiDomain": "${cfg.apiDomain}",
"gh_id": "${cfg.gh_id}",
"navigationBarTitleText": "${cfg.navigationBarTitleText}"
}`
return s
})

function mini(cfg) {
var obj = require("./project.config.json");
obj.appid = cfg.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.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!');
});
}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 微信小步伐引入全局环境变量