【vue/react/小程序】环境配置,以及小程序如何动态配置appid

不管是使用vue、react还是小程序都需要配置运行环境(开发环境、测试环境、生产环境)。
一、Vue/React 配置环境

javascript 复制代码
// 1.在package.json中的scripts脚本中配置,cross-env跨平台
"scripts": {
	"dev": "node scripts/start.js",
	"serve": "cross-env NODE_ENV=development vue-cli-service && node scripts/start.js",
	"dev:h5-dev": "cross-env NODE_ENV=development node scripts/start.js",
	"dev:h5-prod": "cross-env NODE_ENV=production node scripts/start.js",
	// "build": "cross-env NODE_ENV=development node scripts/build.js",
	"build": "vue-cli-service node operateAppId.js",
	"build:h5-dev": "cross-env NODE_ENV=development ode scripts/build.js node operateAppId.js",
	"build:h5-prod": "cross-env NODE_ENV=production ode scripts/build.js node operateAppId.js",
}
// 2.运行上面脚本中的指令即可执行对应的环境,然后使用如下方法获取环境
// 只有NODE_ENV、BASE_URL、VUE_APP_XXX开头的变量才会被存放在DefinePlugin中,才能使用process.env.直接获取
process.env.NODE_ENV

二、小程序如何动态配置appid

javascript 复制代码
/**
项目中遇到这样一个需求,开发了一套小程序代码,通过设置不同的appid,把这套代码发布到不同的小程序上。
要通过打包命令设置appid,通过写个获取project.config.json中appid和修改project.config.json中appid的脚本去操作。
注意修改appid的脚本只能写在项目的根目录下面
*/
// operateAppId.js
const fs = require('fs');

// 从命令行参数中获取 AppID
const appId = process.env.APP_ID;

// 读取 project.config.json 文件
fs.readFile('project.config.json', 'utf8', (err, data) => {
  if (err) {
    console.error('Error reading project.config.json:', err);
    return;
  }

  try {
    // 解析 JSON
    const config = JSON.parse(data);
    // 替换 AppID
    config.appid = appId;
    // 将更新后的配置写回文件
    fs.writeFile('project.config.json', JSON.stringify(config, null, 2), 'utf8', (err) => {
      if (err) {
        console.error('Error writing project.config.json:', err);
        return;
      }
      console.log('AppID updated successfully in project.config.json');
    });
  } catch (error) {
    console.error('Error parsing project.config.json:', error);
  }
});

/**
	最后在package.json 中的 scripts 部分添加一个脚本来执行构建,并传递 AppID 作为参数。
	设置appid的命令:set APP_ID=wx674635672123452&&npm run build:h5-dev
*/
"scripts": {
  "build": "node operateAppId.js"
}
相关推荐
Focussend智能化营销4 分钟前
【无标题】重构增长链路:如何将企业小程序从“成本中心”,改造为“利润中心”?
人工智能·小程序·重构·自动化·内容运营·数字化营销
游戏开发爱好者813 分钟前
在 iOS 开发、测试与上架过程中 如何做证书管理
android·ios·小程序·https·uni-app·iphone·webview
计算机毕设指导623 分钟前
基于微信小程序的健康管理系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
计算机毕设指导61 小时前
基于微信小程序的电影评论与推荐社区平台【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
weixin_177297220691 小时前
[特殊字符]旧物新生,交易无忧——旧物回收二手交易小程序,开启绿色生活新篇章[特殊字符]
小程序·生活
muzidigbig1 小时前
pc企微、小程序预览文件[‘pdf‘, ‘xlsx‘, ‘xls‘, ‘doc‘, ‘docx‘, ‘ppt‘, ‘pptx‘]
小程序·企业微信·pc企微打不开pdf·pc企微打不开文件
全栈前端老曹1 小时前
【前端】Hammer.js 快速上手入门教程
开发语言·前端·javascript·vue·react·移动端开发·hammer.js
response_L1 小时前
PageOffice动态给word插入二维码(或条形码)图片
vue·word·开发工具·二维码·在线编辑
2501_916007471 小时前
在没有 Mac 的情况下完成 iOS 应用上架 App Store
android·macos·ios·小程序·uni-app·iphone·webview
说私域1 小时前
社交驱动下的商业模式进化:AI智能名片链动2+1模式S2B2C商城小程序的融合创新
人工智能·微信·小程序·开源