Express 简介
Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用。
Express 使用
- 初始化
package.jsonnpm init
疯狂回车直接使用默认值就好。
使用
npm快速得到Expressnpm 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
使用
corsconst 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);