Express 简介
Express
是一个简洁而灵活的 node.js
Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。
Express 使用
- 初始化
package.json
npm init
疯狂回车直接使用默认值就好。
使用
npm
快速得到Express
npm i express
新建
app.js
文件,编写代码如下
```js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.status(200).send("Get Home Page ...")
});
app.listen(3000);
4. 修改`package.json`文件,将`main`属性值改为`app.js`
5. 运行`app.js`启动服务
```shell
node app
- 浏览器访问
http://localhost:3000
查看结果
超级简单就拥有了自己的服务有没有,让前端同学也能自己给自己提供接口了。
Express 配置
express
没有太多需要你来配置的,这里我说一下比较常用的。
返回页面
根目录新建
index.html
,内容随便写。app.js
新增如下代码。app.get('/index', (req, res) => { res.sendFile(__dirname + '/index.html') })
重启服务,访问
http://localhost:3000/index
查看结果
配置静态资源访问目录
上面返回页面可以通过这种方式变简单,因为不可能每次写一个页面就加一个接口。
- 新建
public
目录,可以把index.html
移进去。
app.js
新增如下代码。app.use(express.static(__dirname + '/public'));
重启服务,访问
http://localhost:3000/index.html
查看结果
使用
app.use()
第一个参数可以是字符串,对该有该前缀地址的进行拦截,例如:app.use('/statics', express.static(__dirname + '/statics'));
这样就需要访问
http://localhost:3000/statics/index.html
才能访问到index.html
不同类型的请求
get请求
app.get('', (req, res) => { })
post请求
app.post('', (req, res) => { })
put请求
app.put('', (req, res) => { })
delete请求
app.delete('', (req, res) => { })
匹配所有类型的请求
app.all('', (req, res) => { })
跨域配置
跨域是什么就不解释了,不了解的直接网上去查,不想了解的直接用。
方案一
- 下载
cors
包npm i cors
使用
cors
const cors = require('cors'); app.use(cors());
重启服务验证结果
方案二
添加中间件拦截器,在
app.js
中添加如下代码app.use((req, res, next) => { // 一定要执行next函数 next(); })
查看浏览器报错信息,根据自己需求添加跨域配置,例如一定会出现的跨域报错信息
看我选中的那一段,就是需要进行的跨域的配置。修改中间件拦截器,代码如下
app.use((req, res, next) => { res.set('Access-Control-Allow-Origin', 'http://localhost:8080'); next(); })
重启服务,验证结果
完整app.js
代码
const express = require('express');
const cors = require('cors');
const app = express();
app.use(express.static(__dirname + '/public'));
app.use(cors());
// app.use((req, res, next) => {
// res.set('Access-Control-Allow-Origin', 'http://localhost:8080');
// next();
// })
app.get('/', (req, res) => {
res.status(200).send("Get Home Page ...")
});
app.listen(3000);