Express - 基于 Node.js 平台的 web 应用开发框架 总结

Web应用

Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一系列强大的特性,帮助你创建各种 Web 和移动设备应用。

API

丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,让你创建健壮、友好的 API 变得既快速又简单。

性能

Express 不对 Node.js 已有的特性进行二次抽象,我们只是在它之上扩展了 Web 应用所需的基本功能。

总结

项目中使用express
首先电脑中需要安装Node.js,然后为应用创建一个目录,当作工作目录。

mkdir express_project
cd express_project

为应用创建一个package.json文件,此文件描写了应用的基本简介和需要安装的依赖。使用npm init 命令创建。
接下来安装express到项目以来中去npm install express --save

在package.json文件中已经指定了入口文件app.js或者index.js,创建入口文件。

const express = require('express');
const app = express();

app.get('/', function(req, res) {
    res.send('Hello World!');
};
const server = app.listen(3000, function() {
    const host = server.address().address;
    const port = server.address().port;
    console.log('Example app listening at http://%s:%s', host, port);
});

运行node app.js便可以启动服务。

Express应用生成器
使用Express应用生成器可以快速创建一个应用骨架。首先在电脑全局安装npm install express-generator -g,然后就可以快速创建一个应用的骨架express 项目文件名。例如,创建一个名为myapp的项目,步骤如下:

express myapp
进入项目 cd myapp
安装依赖 npm install
启动项目 npm start
最后打开浏览器http://localhost:3000/ 就可以看到这个项目启动了 

Express路由
路由的结构为:app.METHOD(PATH, HANDLER)。METHOD为HTTP请求的方式,比如,get, post, put, delete等方式;PATH是服务器端的路径;HANDLER是当路由匹配到时执行的处理函数。每一个路由都可以有一个或者多个处理器函数,当匹配到路由时,这个/些函数将被执行。

app.post('/edit', function(req, res) {
    console.log(req.body);
    res.send('Got a post request');
});

利用Express托管静态文件
Express内置的express.static可以方便的托管静态文件,例如图片,CSS,JS文件等。将静态资源文件所在的目录作为参数传递给 express.static 中间件就可以提供静态资源文件的访问了。例如,假设在 public 目录放置了图片、CSS 和 JavaScript 文件,就可以通过app.use(express.static('public')),这样就可以使用http://localhost:3000/images/pig.jpg访问到图片。
如果静态资源存放在多个文件夹下,那么可以多次调用该方法:

app.use(express.static('public'));
app.use(express.static('all'));

如果你希望所有通过 express.static 访问的文件都存放在一个“虚拟(virtual)”目录(即目录根本不存在)下面,可以通过为静态资源目录指定一个挂载路径的方式来实现,如下所示:

app.use('/static', express.static('public'));

这样访问上面的图片地址就变为http://localhost:3000/static/images/pig.jpg

异常处理
设置一个错误处理器

app.use(function(err, req, res, next) {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});

404处理器,错误处理器中间件并不捕捉404

app.use(function(req, res, next) {
  res.status(404).send('Sorry cant find that!');
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值