微信小程序开发笔记1——使用npm脚本实现自动化切换环境配置

博客更新地址啦~,欢迎访问:https://jerryyuanj.github.io/blog

写在前面

有过小程序开发经验的都知道,在小程序的生态环境中,是很难做到像其他项目那样完全的CI的,因为我们的上传代码是只能在IDE中操作且代码是提交到微信服务器的,微信并没有提供接口让我们可以自动化部署代码。
一个我们项目中比较常见的问题是,我们本地开发好后,如果想上传代码到腾讯服务器上,需要将本地的一些配置项修改成线上的版本,比如我们的接口地址,项目配置信息等。当然你可以手动去维护,但是不提倡,因为项目如果逐渐增大,业务逻辑变得复杂的话,涉及到的修改项会逐渐增多,手动维护,很难保证不会出错,更有甚者会有人忘记修改直接提交然后苦苦找错,很浪费时间。

这里给大家提供的方案,是我自己根据微信小程序有限的开放能力整理出来的。
废话不多说,入题吧。

你需要会的

  • node的基础知识,这里主要用到的是文件的读写
  • npm scripts
  • 微信小程序的配置(project.config.json)

项目结构

项目结构

项目初始化

如果你是使用IDE搭建的一个quick-start的小程序,那么你的目录结构不是像我上面那样的。你需要将你的项目调整为我上面的那样,其中可以通过npm init -y来直接生成package.json文件。修改好以后,别忘了修改你的项目根目录下的project.config.json,添加下面的配置项以指定你的源码目录,否则会编译不会通过:

"miniprogramRoot": "src/",

添加npm脚本

在你的package.json中添加npm scripts,我这里只做演示,只添加了两个环境的切换脚本,如下:

"scripts": {
   
   
    "switch:dev": "node switch.js --dev",
    "switch:prod": "node switch.js --prod"
  },

可以看到,我们实际运行的是,项目根目录下的switch.js文件来实现的,接下来我们来实现这个命令脚本。

实现脚本

实现的思路:

  1. 获取命令行的参数,判断是什么环境
  2. 根据环境的不同,选择对应的dev目录下的配置文件
  3. 进行文件的读写,将应该使用的配置文件中的配置写入到/src/config.js下来

接下来是代码实现,注释写的很详细:

/**
 * 根据命令行运行参数,修改 /src/config.js 里面的项目配置信息
 * 即动态的将 /config/env 下的配置文件的内容写入到 /src/config.js 中
 */

const fs = require('fs')
const path = require('path')
//源文件
const sourceFiles = {
   
   
  prefix: '/config/env/',
  dev: 'dev.json',
  prod:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值