您的位置: 首页 > 新闻资讯 > IT知识

让小程序开发生产预备环境配置简单而友好

2019-07-17 10:23:28

一、解决思路

将生产环境域名绑定到本机host上,然后通过监听443端口和proxy,实现从生成环境域名https通过host到任意接口。

mkcert生成的证书导出到桌面和移动设备上解决微信APP的自签名证书问题。

通过跨平台的Brook VPN 服务,实现移动设备也可以访问本机host。

二、步骤

  1. 绑定生产环境域名到本机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。

扫描二维码分享到微信

在线咨询
联系电话

13530005652