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

news2024/9/23 3:14:32

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2057416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LM4863 带立体声耳机功能的双 2.2W音频功率放大器芯片IC

一般概述 LM4863是双桥接的音频功率放大器。当电源电压为5V时,在保证总谐波失真、噪声失真之和小于1.0%的情况下,4Ω负载提供2.2W的输出功率或者可向3Ω负载提供2.5W的输出功率。另外,当驱动立体声耳机时,耳机输入端允许放…

微服务:分布式事务

💥 该系列属于【SpringBoot基础】专栏,如您需查看其他SpringBoot相关文章,请您点击左边的连接 目录 一、引言 二、Seata 三、部署TC服务 1. 准备数据库表 2. 准备配置文件 3. Docker部署 四、微服务集成Seata 1. 引入依赖 2. 改造配…

json 库的下载与使用

Json 简介Json下载Json::Value 数据对象类Json 序列化/反序列化的介绍Json 的序列化类低版本高版本 Json 的反序列化类低版本高版本 Json序列化操作Json反序列化操作 简介 json 是一种数据交换格式,采用独立于编程语言的文本格式来存储和表示的数据。 Json下载 使…

波导阵列天线单元 学习笔记3 基于空气填充双模馈网的双圆极化膜片天线阵列

摘要: 此通信提出了一种使用空气填充双模馈网的基于膜片极化器的双圆极化天线阵列。一种1分4的圆腔单层覆盖在膜片极化器上来抑制栅瓣。全公司馈网被一个双模传输线所实现,以此在一组馈网内联合了TEM模式(由HW悬架线激励)和TE10模…

Stable Diffusion赋能“黑神话”——助力悟空走进AI奇幻世界

《黑神话:悟空》是由游戏科学公司制作的以中国神话为背景的动作角色扮演游戏,将于2024年8月20日发售。玩家将扮演一位“天命人”,为了探寻昔日传说的真相,踏上一条充满危险与惊奇的西游之路。 同时,我们还可以借助AI绘…

智能电子班牌源码之终端管理-SAAS本地化及未来之窗行业应用跨平台架构

一智能电子班牌 智能电子班牌为教育行业量身打造,高清显示屏体、可安装各类软件,满足门禁、考勤、信息显示等多种功能。节能防水防误触设计,更适用于校园环境。 二、设备管理 1. 提高效率:管理员无需亲临设备现场,…

Maven-03.idea集成-配置及创建maven项目

一.配置Maven 写在前面:特别注意idea版本与Maven版本以及jdk版本与Maven版本的匹配问题。一定要下载和当前idea版本以及jdk版本匹配的maven版本,否则会出问题。具体匹配结果上网查询!此处采用idea2023.2.3,jdk17,mave…

edge浏览器可以,chrome浏览器看不到接口数据

chrome 谷歌浏览器,可以看到页面,F12的开发者工具看不到返回数据 无法加载响应数据: No data found for resource with given identifier Chrome 将显示 ERR_INTERNET_DISCONNECTED 错误 edge浏览器是正常的。 哈哈哈哈哈哈,这里误点了&a…

C ++初阶:类和对象(上)

目录 🌞0.前言 1. 面向过程和面向对象初步认识 2..类的引入与定义 2.1类的引入 2.2类的定义 3.类的访问限定符及其封装 3.1访问限定符 3.2封装 4.类的作用域 4.1加餐和发现 5.类的实例化 6.类对象大小的计算 6.1.内部的存储方式 6.2结构体对齐规则回顾…

【闪送-注册安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…

【办公软件】安全风险 Microsoft 已阻止宏运行,因为此文件的来源不受信任

Excel 2019版本,就出现安全风险 Microsoft 已阻止宏运行 因为此文件的来源不受信任的问题,宏直接就用不了了。 网上的解决方法,文件右键属性->取消安全锁。但存在没有安全锁这个选项。后查询到一个简单的解决方法。 打开Excel表格->文件…

利用MongoDB进行数据治理,防范构建生成式AI应用程序时的潜在安全风险

生成式人工智能(生成式AI)正在蓬勃发展,许多企业和初创公司正在运用AI工具来解决各自的用例问题。随着企业逐渐适应市场上的新技术范式转移,开发者社区和开源模型也在不断发展壮大。 构建智能生成式AI应用程序需要灵活运用数据。…

R语言统计分析——线性模型假设的综合验证与多重共线性

参考资料:R语言实战【第2版】 1、线性模型假设的综合验证 gvlma包中的gvlma()函数,能对线性模型进行综合验真,同时还能做偏斜度、峰度和异方差性的评价。也就是说,它给模型提供了一个单独的综合验证(通过/不通过&…

RK3568平台开发系列讲解(UART篇)line discipline

🚀返回专栏总目录 文章目录 一、UART 读写过程二、line discipline组成沉淀、分享、成长,让自己和他人都能有所收获!😄 line discipline 介于 TTY 层和具体的串口驱动 ( 比如 serial8250 ) 之间。 一、UART 读写过程 发送数据时: 应用程序通过系统调用向 TTY 设备文件写…

打卡学习Python爬虫第四天|bs4爬取优美图库的小清新图片

bs4解析比较简单,通过HTML的标签和属性去提取值,find(标签,属性"值") 但是需要了解HTML的语法知识,然后再使用bs4去提取,逻辑和编写难度就会比较简单和清晰。 bs4如何使用?如有如下HTML代码&am…

币价与数据持续低迷,比特币和以太坊能否从低谷中恢复?

在过去的一周里,加密货币市场经历了令人失望的表现,比特币和以太坊的价格持续低迷,引发了投资者的广泛关注。尽管宏观经济背景提供了一些利好因素,但市场情绪依然低迷,BTC/USD 和 ETH/USD 均未能打破当前的下行趋势。本…

鸿蒙HarmonyOS开发知识:命令行工具篇—“codelinter”

codelinter同时支持使用命令行执行代码检查与修复,可将codelinter工具集成到门禁或持续集成环境中。 codelinter命令行格式为: codelinter [options] [dir] options:可选配置,请参考表1。 dir:待检查的工程根目录…

在项目中运用os 模块获取本机ip地址并运用到终端启动成功打开network

一、安装os模块 os 模块是 Node.js 的内置模块,不需要额外安装 二、在项目中新建一个名为 getLocalIpAddress.js 的文件 // getLocalIpAddress.js const os require(os);function getLocalIpAddress() {const interfaces os.networkInterfaces();for (const na…

LNMP 架构(Linux+NGINX+memcache+PHP)

目录 1 源码编译PHP与NGINX 1.1 NGINX 源码编译 1.2 PHP 源码编译安装 2 实现PHP与NGINX的连接 2.1 php-fpm的详细介绍 2.2 LNMP与LAMP的区别 2.3 PHP配置文件的介绍 2.4 实例实现php-fpm 与 NGINX的连接 2.4.1 指定pid的存放位置 2.4.2 php-fpm设置监听自己端口与IP 2.4.3 主配…

Excel 跨表格引用单格公式--> =表格名!单元格坐标

背景 需要将 A 表格中某单个单元格引用到 B 表格。一搜教程都是 VLOOKUP 函数,但是该函数用于多内容条件应用,尝试中发现公式,遂总结成经验贴。 公式(注意符号英文): 表格名!单元格坐标 例子 这里需要…