美文网首页
Node.js框架之Express

Node.js框架之Express

作者: Mike的读书季 | 来源:发表于2016-09-19 12:04 被阅读1638次

建议阅读:Express - 基于 Node.js 平台的 web 应用开发框架


1.部署

1.1 Express

在工作目录下打开命令行,并执行以下命令:

express demo_ajax

注意

  • 1.命令中的demo_ajax自行定义
  • 2.如果没有安装Express,请先安装Express到全局:
npm install express-generator -g
生成Express

进入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

supervisor监控服务

优势
如果直接用 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

相关文章

  • Node.js学习express框架

    Node.js框架学习 express.js express.js是什么 Express基于Node.js平台,快...

  • 用express写一个简单的爬虫

    框架 Express express 是 Node.js 应用最广泛的 web 框架,express 的官网是 h...

  • express框架入门

    express框架入门 什么是express Express 是一个简洁而灵活的 node.js Web应用框架,...

  • Express 框架

    一、Express框架简介及体验 1.1 Express框架简介 Express是一个基于Node.js平台的应用...

  • Node框架学习(1)--Express

    Node.js Express 框架 快速构建expressx项目 Express 简介 Express 是一个简...

  • 初识Express

    初识Express Express网站上是这样介绍Express的:“精简的、灵活的Node.js Web程序框架...

  • nodejs-Express web 学习与实践

    Express web 开发框架简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供一...

  • node.js学习笔记(3)

    Node.js Express 框架的使用 Express 简介 Express 是一个简洁而灵活的 node.j...

  • 7_express

    Express框架 首先我们先安装Node.js 0.基于express框架,创建项目。 创建工程目录 通过npm...

  • 在Visual Studio Code 中安装Express

    那么什么是Express,express是node.js的快速、非选择性、简约的web框架。使用express就可...

网友评论

      本文标题:Node.js框架之Express

      本文链接:https://www.haomeiwen.com/subject/qwxnettx.html