让小程序开发生产预备环境配置简单而友好
2019-07-17 10:23:28
一、解决思路
将生产环境域名绑定到本机host上,然后通过监听443端口和proxy,实现从生成环境域名https通过host到任意接口。
mkcert生成的证书导出到桌面和移动设备上解决微信APP的自签名证书问题。
通过跨平台的Brook VPN 服务,实现移动设备也可以访问本机host。
二、步骤
sudo vim /etc/hosts
在文件末尾加上
127.0.0.1 example.com
保存退出
2. 通过mkcert生成非自签名证书
安装 mkcert
brew install mkcert
mkcert -install
mkcert example.com // 将在所在目录生成非自签名证书
mkcert -CAROOT //CA 证书目录
将非自签名证书移动到项目根目录,将root-CA.pem证书AirDrop或其他方式到手机上并安装,然后信任它。Trust manually installed certificate profiles in iOS
3. proxy https VPN server
下载 txthinking/brook server, 下面以MacOS举例,下载的brook_darwin_amd64。
在项目根目录建立并执行 dev.js
const express = require('express');
const proxy = require('http-proxy-middleware');
const fs = require('fs');
const { exec } = require('child_process');
const https = require('https');
const BASE = 'http://192.168.99.43:8001'; //实际api
const app = express();
exec('./brook_darwin_amd64 server -l :9999 -p password'); //VPN 端口和密码
app.use('/', proxy({ target: BASE, changeOrigin: true }));
https.createServer({
key: fs.readFileSync('example.com-key.pem'),
cert: fs.readFileSync('example.com.pem'),
requestCert: false,
rejectUnauthorized: false,
}, app)
.listen(443);
4. 手机端连接桌面VPN
下载brook到手机上
输入本机LAN ip加端口9999 在server上,密码为password,开始。
打开微信小程序,fetch api。
成功!
三、非技术人员使用说明
只需简单两步,不足3分钟
1.Airdrop CA证书到手机,安装信任
2.手机下载brook APP,连接开发者电脑ip。
最后安利一下刚刚写的CLI,一行命令在所也在目录生成小程序页面,组件,并且向上追踪并更新app.json。
扫描二维码分享到微信