Node + Express 的環(huán)境配置 = 下載WebStorm
這是博主的最佳建議滨达,如果你在海外留學奶稠,那么去WebStorm官網注冊個學生賬號,JetBrains旗下所有軟件免費1年起捡遍,PyCharms锌订!IntelliJ!想想就有點小激動画株。
國內的同學也別著急辆飘,萬能淘寶總是沒錯的。
如果沒用最佳建議谓传,按著官網一步一步來一定是沒錯的蜈项。
更新:
其實現在更習慣用 visual studio code + es hint plugin + express-generator.
//全局安裝express-generator
npm install express-generator -g
// 初始化express框架
express myapp
關于開源庫
"dependencies": {
"aliyun-sdk": "1.6.2",//阿里云
"async": "2.0.0-rc.6",//Promise也可以實現它的功能,用來寫同步
"body-parser": "~1.13.2",//解析body续挟,自帶
"connect-multiparty": "2.0.0",//解析獲取Multipart
"connect-redis": "3.0.2",//連接redis
"cookie-parser": "~1.3.5",//解析Cookies
"debug": "~2.2.0",//debug
"express": "~4.13.1",//express
"express-session": "1.13.0",// sesion
"hiredis": "1.0.0",//另一種用來連接redis的
"morgan": "~1.6.1",//node自帶的日志記錄器
"redis": "2.6.1",//redis
"request": "2.72.0",//用來發(fā)起請求紧卒,業(yè)務需要轉發(fā)請求
"serve-favicon": "~2.3.0",//自帶favicon
"socket.io": "1.4.5",//soket.io
"socket.io-express-session": "0.1.3",//顧名思義
"urllib": "2.13.0", //顧名思義
"mysql":"2.11.1" //顧名思義
}
開源庫的選擇可以稍微說幾句。
bluebird
a. 因為JS回調之繁瑣诗祸,所以Promise被提出來跑芳。這幾乎是復雜回調的必需品。我選擇了bluebird直颅,同類產品都可聋亡。(Async其實挺好用的......)
b. Promisify這個神奇的函數。socket.io
誰用誰知道际乘。(如果勇敢的話坡倔,甚至所有數據都可以通過socket.io來傳輸,開發(fā)起來會真的很快脖含。)
稍微談一下socket.io的配置(我配置在www里)
var app = require('../app');
var http = require('http');
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
var server=http.createServer(app);
var io=require('socket.io')(server);
io.use(function(socket, next) {
app.final_session_setting(socket.request, socket.request.res, next);
});
app.js
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
var final_session_setting=session({
store: new RedisStore({
client:client
}),
secret: 'keyboard cat',
cookie: { maxAge: 259200000 }
});
這樣設置是為了能直接從Socket.io里獲茸锼(共享)session
其他配置起來沒有太多難度。
其他更多中間件自己來寫养葵,博主心里隱約有個大的夢想征堪,就是把Spring Security 在Node上實現。