uniapp 动态配置 appid

处理JSONC文件

UniApp的mainfest.json是一个jsonc文件,可以使用comment-json库来处理

npm i comment-json --dev

读写mainfest.json

// injectAppID.js
const { parse, stringify } = require('comment-json')
const fs = require('fs')

// 环境修改 appid
let appid = process.env.VUE_APP_ID
console.log(appid)

// manifest.json 路径
let manifestFileUrl = `${__dirname}/src/manifest.json`

// 读取文件数据
let manifestFileData = fs.readFileSync(manifestFileUrl, {
  encoding: 'utf8'
})

// 解析 JSONC 文件
let manifestFileDataObj = parse(manifestFileData)

// 修改指定key对应的value
manifestFileDataObj['mp-weixin']['appid'] = appid

// 将 JSON 对象转换为 JSONC 格式并写入文件
fs.writeFileSync(manifestFileUrl, stringify(manifestFileDataObj, null, 2), {
  encoding: 'utf8'
})

在webpack环境下执行js

因为process.env.VUE_APP_ID只有在webpack环境下才能正常读取所以需要在vue.config.js中执行

const { defineConfig } = require('@vue/cli-service')
// 根据环境变量文件中的VUE_APP_ID修改mainfest.json的配置
require('./injectAppID.js')
module.exports = defineConfig({
  // 选项
})

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值