本文使用node.js和express來爲小程序搭建服務器。node.js簡單說是運行在服務端的javascript;而express是node.js的一個Web應用框架,使用express能夠很是簡單快捷地搭建起網站。javascript
官方要求小程序的包最多不能超過2M,減少小程序包大小最有效的方法就是將本地圖片上傳至服務器。
本文搭建服務器,以小程序從後臺獲取圖片爲例,實現小程序與後臺的通訊。
小程序採用這篇教程mpvue從一無全部開始仿大衆點評小程序中的demo(但圖片均移動到了public/images
),
能夠從這裏下載項目文件css
要搭建小程序後臺有兩種選擇
(1)購買雲服務器。詳細可見這裏。
(或直接使用雲開發,雲開發是小程序在2018.9新增的功能,詳細可見這裏)
(2)使用代理服務器,可實現搭建本地服務器,進行本地開發調試。
例如使用charels進行反代理,教程可見:mac版、win版html
注意映射的線上域名和服務器端口要與實際設置的一致。好比這裏採用的線上域名爲https://wx.test.cn
,搭建的服務器端口爲localhost:3000
vue
按以上兩種方法搭建好服務器後,在服務器上安裝好Node.js,打開命令行:java
npm install -g express@3 npm install express-generator --save -g
選擇一個工做目錄,打開命令行運行:node
mkdir server cd server express -e npm install
安裝完成後輸入:git
npm start
此時便用Express搭建了一個服務器並監聽端口3000。能夠用瀏覽器打開localhost:3000或https://wx.test.cn/進行訪問。github
初始化項目後,通常工程結構以下express
server ├── node_modules ├── public ├── routes ├── view ├── app.js └── package.json
咱們這裏只要關心app.js
和public
,npm
app.js
是工程的入口文件,待會咱們在這裏編寫路由控制;public
是存放各類資源的文件夾,這裏能夠保存image、css、javascript等文件app.js
,在app.use('/users', usersRouter);
後添加app.get('/public/images/*', function (req, res) { res.sendfile( __dirname + "/" + req.url ); console.log("Request for " + req.url + " received."); })
這段命令的意思是當客戶端用get命令請求/public/images/下的資源時,服務器將對應的圖片資源傳送過去。
(3)中斷原先的進程,再次運行:
npm start
咱們能夠在瀏覽器上打開網址https://wx.test.cn/public/images/my/user.png
,測試是否能夠請求到圖片。
將小程序中原先指向本地圖片的連接均改成指向服務器的圖片。
此時使用微信開發者工具再次打開小程序,便可看到完整的頁面。同時也能夠進行預覽發佈