Express 简单介绍
Express 是一个基于 Node.js 平台,快速、开放、极简的 web 开发框架
Express 框架是后台的 Node 框架,所以和 jQuery、zepto、yui、bootstrap 都不一个东西。
Express 在后台的受欢迎的程度类似前端的 jQuery,就是企业的事实上的标准。
Express 特点:
1. Express 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,它提供一
系列强大的特性,帮助你创建各种 Web 和移动设备应用。
2. 丰富的 HTTP 快捷方法和任意排列组合的 Connect 中间件,让你创建健壮、友好
的 API 变得既快速又简单
3. Express 不对 Node.js 已有的特性进行二次抽象,我们只是在它之上扩展了 Web
应用所需的基本功能。
Express 官网:
英语官网:http://expressjs.com/
中文官网:http://www.expressjs.com.cn/
点击链接
Express 安装使用
安装:
安装 Express 框架,就是使用 npm 的命令。
npm install express --save
--save 参数,表示自动修改 package.json 文件,自动添加依赖项。
入门案例:
app.js
//1.引入
let express = require('express');
let app =new express();//可省掉new
//2.配置路由
app.get('/',(req,res) => {
res.send('你好!express1')
})
// 动态路由
app.get('/newscontent/:aid',(req,res) => {
//获取动态路由的传值
res.send(req.params)
})
// 获取get传值 http://localhost:8007/product?name=muzidigbig
app.get('/product',(req,res) => {
res.send(req.query)
})
app.post('/dologin',(req,res) => {
res.send('post')
})
//3.监听端口
app.listen(8007,'127.0.0.1')
补充:
express框架的send方法
①send方法用的还挺多的,因此需要明确其作用;
②原型是:
res.send([body|status], [body])
即既可以直接发送内容,也可以第一个参数状态,第二个参数内容。
如果直接发送内容的话,状态会被自动补全;
③发送的内容:
示例:
res.send(newBuffer('whoop'));
res.send({ some: 'json' });
res.send('some html');
res.send(404, 'Sorry, we cannot find that!');
res.send(500, { error: 'something blew up' });
res.send(200);
【1】第一种是发送二进制(binary)内容,当其参数为Buffer(缓冲)时,Content-Type 会被设置为 "application/octet-stream" ,而这个表示其文件后缀(文件类型)是某些类型。
而wiki上是这么说的
application/octet-stream(任意的二进制数据)
也就是说这是一个任意的二进制数据,具体如何解释要看实际情况(比如后缀名),比如他可能是一个img,也可能是一个video。
【2】假如发送字符串,那么将被解释为html文件;
也就是说,Content-Type 默认设置为"text/html":
例如,发送了一个post,然后我res.send("aaa"),那么网页将跳转到一个只有文本aaa的页面;
【3】假如参数为Array(数组),或者Ojbect(对象),那么将返回一个JSON;