eggjs开发微信公众号
搭建eggjs框架
$ npm i egg-init -g
$ egg-init wechat_public_number_demo --type=simple
$ cd wechat_public_number_demo
$ npm install
$ npm run dev
$ open http://127.0.0.1:7001/
将eggjs的端口号修改成80端口
配置config.default.js
exports.cluster = {
listen: {
port: 80,
hostname: '127.0.0.1',
},
};
使用npm run dev 启动的时候会报错
2019-09-24 11:37:21,275 ERROR 3661 nodejs.AppWorkerDiedError: [master] app_worker#1:3664 died (code: 0, signal: null, suicide: false, state: dead), current workers: []
原因: Node.js的服务器端默认是无法使用1024以下的端口的。
解决方法: 使用sudo。就是这样:sudo npm start或者sudo npm run dev。
ngrok
要解决微信本地开发,一个关键的问题是能够把本地的IP地址映射到公网上去,ngrok解决解决了这个问题(ngrok原理可以自行了解)。
访问官网 https://ngrok.com/download下载最新版的ngrok,解压
开启本地服务器,开放80端口
windows–>运行–>cmd,进入到ngrok解压文件根目录,输入ngrok.exe 80,这样可以将本机的127.0.0.1:80分配一个外网可以访问的随机域名
该域名是随机的,每次重启都会变,如果希望将域名固定,可以到ngrok官网付费购买
进入到解压后的 ngrok 所在路径
./ngrok http localhost:8080
然后输入上面的命令行
启动ngrok