Express
Express简介
express是基于 Node.js 平台,快速、开放、极简的 Web 开发框架,是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。
使用Express可以快速地搭建一个完整功能的网站
核心特性
Express框架核心特性:
- 可以设置中间件来响应http请求
- 定义了路由用于执行不同的http请求
- 可以通过向模板传递参数来动态渲染html页面
安装Express
npm install express --save
以上命令会将 Express 框架安装在当前目录的 node_modules 目录中, node_modules 目录下会自动创建 express 目录。以下几个重要的模块是需要与 express 框架一起安装的:
body-parser
— node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。cookie-parser
—这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。multer - node.js 中间件
—用于处理
enctype=“multipart/form-data”(设置表单的MIME编码)的表单数据。
常用方法
express()
express()
用来创建一个Express的程序。express()方法是express模块导出的顶层方法。
var express = require('express');
var app = express();
利用Express托管静态文件
express.static(root, [options])
express.static
是Express中唯一内置的中间件。它以server-static模块为基础开发,负责托管 Express 应用内的静态资源。 参数root为静态资源的所在的根目录,参数options是可选的
/**静态资源文件托管 */
const express = require('express');
const app = express();
app.use(express.static('public'))
//访问方式 localhost:3000/hello.html
//app.use('/abc',express.static('public'))
//访问方式 localhost:3000/abc/hello.html
app.listen(3000,()=>{
console.log('running...')
})
public文件是自定义的文件夹
在public文件下创建一个hello.html文件,并在浏览器中访问
如果use()方法中,添加了自定义的路径地址,在浏览器中访问的时候需要在端口号后面加上路径地址
上面展示了打开了html文件,我们同样也可以打开js、css等文件
但是要注意的是这些文件必须要在public文件中
举例打开js文件,js文件夹下的base.js:
var div = document.createElement('div');
div.innerHTML = '炸鸡';
document.body.appendChild(div);
将base.js文件引入hello.html文件中,并在浏览器中访问
注意!!!!
如果请求的两个文件夹中有同名的文件,则只会访问前面的文件
//只会访问hello下的文件
app.use(express.static('hello'));
app.use(express.static('public'));
请求方式
HTTP的常用请求方式:
- post----添加
- get----查询
- put----更新
- delete----删除
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('get data');
})
// postman 接口测试工具
app.post('/', (req, res) => {
res.send('post data');
})
app.put('/', (req, res) => {
res.send('put data');
})
app.delete('/', (req, res) => {
res.send('delete data');
})
// 响应任何的请求方式
app.use((req, res) => {
res.send('OK');
})
app.listen(3000, () => {
console.log('running....');
})
我们可以根据不同的路径,进入不同的页面。
post请求不能直接在页面上直观的显示,我们可以采用接口测试软件POSTMAN进行测试
Application()
app对象一般用来表示Express程序。通过调用Express模块导出的顶层的express()方法来创建它:
var express = require('express');
var app = express();
app.get('/', function(req, res) {
res.send('hello world!');
});
app.listen(3000);
app 对象
具有以下的方法:
- 路由HTTP请求;(app.METHOD和app.param)
- 配置中间件;(app.route)
- 渲染HTML视图;(app.render)
- 注册模板引擎;(app.engine)