寫在前面
由於最近自己在開發一個人的小程式,於是便著手開始進行node服務端的開發。
小程式碼
專案初始化
1. 安裝開發環境
基於node 8.9.4
$ npm install express-generator -g
$ express myapp
複製程式碼
2. 路由
var http = require('http');
var express = require('express');
const querystring = require('querystring');
var router = express.Router();
var request = require('../utils/request');
/**
* 獲取活動列表
* @param {} '/api/getActiveList'
* @param {} function(req
* @param {} res
* @param {} next
*/
router.post('/api/getActiveList', function(req, res, next) {
const postData = querystring.stringify(req.body);
request.post(req, res, postData, '/app/mock/3317/getActiveList')
});
複製程式碼
3. 封裝請求
var http = require('http');
exports.post = function(req, res, data, path){
const options = {
hostname: 'rap2api.taobao.org',
port: 80,
path: path,
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(data)
}
};
const proxyHttp = http.request(options, (response) => {
console.log(`狀態碼: ${response.statusCode}`);
console.log(`響應頭: ${JSON.stringify(response.headers)}`);
response.setEncoding('utf8');
response.on('data', (chunk) => {
console.log(`響應主體: ${chunk}`);
});
response.pipe(res)
response.on('end', () => {
console.log('響應中已無資料。');
});
});
proxyHttp.on('error', (e) => {
console.error(`請求遇到問題: ${e.message}`);
});
// 寫入資料到請求主體
proxyHttp.write(data);
proxyHttp.end();
}
複製程式碼
守護者 PM2
1. 安裝pm2
$ npm install pm2 -g
複製程式碼
2. 啟動專案
$ pm2 start /bin/www
Start an app using all CPUs available + set a name :
$ pm2 start app.js -i 0 --name "api"
複製程式碼
3. 更多pm2 命令
$ pm2 -h
複製程式碼
專案地址
Node服務 WeApp-TheBall-Node
小程式-Wepy WeChatAboutTheBall-Wepy