1.部署
1.1 Express
在工作目录下打开命令行,并执行以下命令:
express demo_ajax
注意
- 1.命令中的demo_ajax自行定义
- 2.如果没有安装Express,请先安装Express到全局:
npm install express-generator -g

进入demo_ajax并安装依赖
cd demo_ajax
npm install
或
cd demo_ajax && npm install
安装完毕后,启动服务
node bin/www
如果要关闭服务,则按 CTRL+C
1.2.Supervisor
为了提高开发效率,建议安装supervisor到全局。
npm -g install supervisor
安装后,执行:
supervisor bin/www

优势
如果直接用 node bin/www
启动服务,开发过程中在服务器端做了任何修改,都需要重启服务;如果有一个函数阻塞或宕机,整个服务都会挂掉。
而如果使用了supervisor,你在服务器端只要修改了文件或服务挂掉,supervisor会为你自动重启服务,省去了很多时间。此外,supervisor自带的一些调试信息和方式也给开发者很多帮助。
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 路由
看到路由的设置:
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()实例是一个完整的中间件和路由系统,因此常称其为一个 “mini-app”。
推荐看看这份资料,最后的例子说得很详细:Express 路由
持续更新中...
原创文章,未经许可,请勿转载
作者:Mike的读书季
日期:2016.09.19
QQ:1139904786
Blog:http://blog.csdn.net/kkdestiny
网友评论