微信小程序开发——本地调试


声明:本文转载自https://my.oschina.net/evolify/blog/1595010,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

在我们开发小程序时,可能小程序端和后台是同时开发的,这种情况下,如果后台代码写一点,再部署到服务器,然后再调试小程序,会很繁琐。而很多小程序api又必须要经过腾讯服务器,再转发到我们自己的后台,这就要求我们的后台能够被外网访问到。前段时间写小程序时尝试过几种方法,这里简单介绍一下。

​ 首先,对于那些不需要调用类似用户登录这些必须要appid的功能,我们可以直接在创建项目的时候,不填appid,这样小程序就不受合法域名的限制,可以直接访问我们局域网内部的后台。

​ 而对于用户登录、微信支付等这些api,必须要appid,也必须通过腾讯的服务器,这时候我们就必须让我们的后台能被外网访问到,而且在合法域名配置里面,只能是https。一般我们在开发时,肯定都已经买好了外网服务器(比如阿里云ecs),配置什么的也不是本文重点,本文假设你已经有一台ecs,备案、ssl证书什么的都搞定了。以下是几种方案:

  1. 直接使用外网服务器

    ​ 常规流程,后台代码部署到服务器,然后小程序调试。上面已经提过,缺点很明显。但如果说你们的需求很明确,后台能很快写完,而且不需要经常修改,可以这么做。说点题外话,对于部署这部分,可能很多都是本地打包好,比如打包成jar,然后scp或者ftp上传到服务器,然后再运行。我觉得可以在服务器上配置git,直接把代码托管到服务器也行,或者代码在码云等平台的话,在服务器上用git pull下来也行,然后直接服务器运行代码,等后台稳定后再打包运行,我觉得这么做比较好,因为每次打包都会花不少时间。当然用docker之类的当我没说。

  2. 使用一些内网穿透工具

    ​ 以前我有用过一些,ngrok、ittun(基于ngrok)、localtunel ( nodejs ) 都有用过。优点是比较方便,不需要太多配置,但缺点也很明细,不稳定。你也可以自己构建ngrok。

  3. 通过外网服务器转发到本地服务器(推荐这种方法)

    ​ 这种方法我是最近用过的,感觉效果很不错,稳定,速度快,但我的服务器是centos, 不知道win server上有没有类似的。

    ​ 首先,开启服务器的远程转发功能,在/etc/ssh/sshd_config文件末尾加入一句:GatewayPorts yes,然后重启ssh:sudo systemctl restart sshd.

    ​ 然后本地环境安装xshell,这里借助它的隧道功能来转发。具体的是在属性>连接>ssh>隧道里面添加一条转发规则,比如把服务器上面的80端口转发到本地80端口。

    ​ 重启xshell,当xshell连接上服务器时,服务器上面到80端口的请求就可以转发到本地80端口了。

    ​ 接下来要解决的是,小程序只能访问https,那我们只需要把ssl:443端口转发到http:80端口就ok了,直接上nginx部分配置:

    location /admin/ {   proxy_pass http://localhost/admin/; } location /image/ {   proxy_pass http://localhost/image/; } location /api/ {   proxy_pass http://localhost/api/; } 

    ​ 这样配置比较有针对性,比如admin是管理员后台接口,给web端调用,image为图片路径,api给小程序调用。当然也可以直接所有的都转发:

    location / {   proxy_pass http://localhost; } 

    ​ 或者说你有一个正常运行的版本已经在服务器上运行,还需要再配置一个开发的时候用,可以这么来:

    location /dev/ {   proxy_pass http://localhost/; } 

    ​ 当然道理都一样,你甚至还可以只在一台服务器上面配置ssl,然后给不同的后台配置不同的转发路径,这样其他后台就不用上ssl了,前提是服务器负载没问题。当然我也就随口一说,哈哈。

    ​ 最近有点想换工作,可又不想写简历,真特么烦 !!!

本文发表于2017年12月26日 14:32
(c)注:本文转载自https://my.oschina.net/evolify/blog/1595010,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 1895 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1