在開發(fā)一個微信小程序的過程中,一般情況是需要經過騰訊服務器,過程會比較繁瑣,如果不需要調用服務器,我們在微信小程序開發(fā)過程中就需要進行本地調試配置,那么如何進行配置搭建呢,下面就為大家來介紹。
1、小程序不需要用戶登錄的情況:
對于那些不需要調用類似用戶登錄這些必須要appid的功能,我們可以直接在創(chuàng)建項目的時候,不填appid,這樣小程序就不受合法域名的限制,可以直接訪問我們局域網內部的后臺。
2、小程序需要用戶登錄,微信支付的情況:
而對于用戶登錄、微信支付等這些api,必須要appid,也必須通過騰訊的服務器,這時候我們就必須讓我們的后臺能被外網訪問到,而且在合法域名配置里面,只能是https。一般我們在開發(fā)時,肯定都已經買好了外網服務器,配置什么的也不是本文重點,本文假設你已經有一臺ecs,備案、ssl證書什么的都搞定了。
以下是幾種方案:
1、使用一些內網穿透工具
推薦一些穿透工具,ngrok、ittun(基于ngrok)、localtunel( nodejs ) 。優(yōu)點是比較方便,不需要太多配置,但缺點也很明細,不穩(wěn)定。你也可以自己構建ngrok。
2、直接使用外網服務器
常規(guī)流程,后臺代碼部署到服務器,然后小程序調試。上面已經提過,缺點很明顯。但如果說你們的需求很明確,后臺能很快寫完,而且不需要經常修改,可以這么做。說點題外話,對于部署這部分,可能很多都是本地打包好,比如打包成jar,然后scp或者ftp上傳到服務器,然后再運行。我覺得可以在服務器上配置git,直接把代碼托管到服務器也行,或者代碼在碼云等平臺的話,在服務器上用git pull下來也行,然后直接服務器運行代碼,等后臺穩(wěn)定后再打包運行,這么做比較好,因為每次打包都會花不少時間。
通過外網服務器轉發(fā)到本地服務器(推薦這種方法)
這種方法效果很不錯,穩(wěn)定,速度快。首先,開啟服務器的遠程轉發(fā)功能,在/etc/ssh/sshd_config文件末尾加入一句:GatewayPortsyes,然后重啟ssh:sudo systemctlrestart sshd.
然后本地環(huán)境安裝xshell,這里借助它的隧道功能來轉發(fā)。具體的是在屬性>連接>ssh>隧道里面添加一條轉發(fā)規(guī)則,比如把服務器上面的80端口轉發(fā)到本地80端口。
重啟xshell,當xshell連接上服務器時,服務器上面到80端口的請求就可以轉發(fā)到本地80端口了。
接下來要解決的是,小程序只能訪問https,那我們只需要把ssl:443端口轉發(fā)到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給小程序調用。當然也可以直接所有的都轉發(fā):
location / {
proxy_pass http://localhost;
}
或者說你有一個正常運行的版本已經在服務器上運行,還需要再配置一個開發(fā)的時候用,可以這么來:
location/dev/ {
proxy_pass http://localhost/;
}
當然道理都一樣,你甚至還可以只在一臺服務器上面配置ssl,然后給不同的后臺配置不同的轉發(fā)路徑,這樣其他后臺就不用上ssl了,前提是服務器負載沒問題。
以上就是微信小程序開發(fā)之本地調試配置如何搭建,如果有其他小程序開發(fā)文檔的問題,可以來網站查詢。