1.部署
1.1 Express
在工作目錄下打開命令行,并執(zhí)行以下命令:
express demo_ajax
注意
- 1.命令中的demo_ajax自行定義
- 2.如果沒有安裝Express,請先安裝Express到全局:
npm install express-generator -g

進(jìn)入demo_ajax并安裝依賴
cd demo_ajax
npm install
或
cd demo_ajax && npm install
安裝完畢后,啟動服務(wù)
node bin/www
如果要關(guān)閉服務(wù),則按 CTRL+C
1.2.Supervisor
為了提高開發(fā)效率,建議安裝supervisor到全局。
npm -g install supervisor
安裝后,執(zhí)行:
supervisor bin/www

優(yōu)勢
如果直接用 node bin/www 啟動服務(wù),開發(fā)過程中在服務(wù)器端做了任何修改,都需要重啟服務(wù);如果有一個函數(shù)阻塞或宕機(jī),整個服務(wù)都會掛掉。
而如果使用了supervisor,你在服務(wù)器端只要修改了文件或服務(wù)掛掉,supervisor會為你自動重啟服務(wù),省去了很多時間。此外,supervisor自帶的一些調(diào)試信息和方式也給開發(fā)者很多幫助。
2.app.js初探
到Express 4.x時代,app.js有了很大的不同。
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var routes = require('./routes/index');
var users = require('./routes/users');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', routes);
app.use('/users', users);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error('Not Found');
err.status = 404;
next(err);
});
// error handlers
// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});
});
}
// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
module.exports = app;
2.1 路由
看到路由的設(shè)置:
var routes = require('./routes/index');
……
app.use('/', routes);
這里加載了一個路由模塊,它在routes.index.js文件中定義。我們再看這個文件:
var express = require('express');
var router = express.Router();
……
/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });
});
……
module.exports = router;
這里的express.Router()實例是一個完整的中間件和路由系統(tǒng),因此常稱其為一個 “mini-app”。
推薦看看這份資料,最后的例子說得很詳細(xì):Express 路由
持續(xù)更新中...
原創(chuàng)文章,未經(jīng)許可,請勿轉(zhuǎn)載
作者:Mike的讀書季
日期:2016.09.19
QQ:1139904786
Blog:http://blog.csdn.net/kkdestiny