微信小程序引入全局环境变量

有时候一套代码要在多个小程序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!');
  });
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值