前言
一个express web框架的学习笔记。
入门
- 创建一个 package.json 文件
npm init
- 安装express
npm i express
- 使用express
app.js//导入express const express = require('express') //2.创建web服务器 const app = express() //3.添加路由 app.get('/', (req, res) => { res.send('Hello World!') }) //4.启动web服务器 app.listen(3000, ()=> console.log('express server running at http://127.0.0.1:3000') )
- 运行
node app.js
运行后访问 http://127.0.0.1:3000 就可以看到 Hello World!
监听请求
app.get('/', (req, res) => {
//通过req.query可以获取到客户端发送过来的查询参数
//访问:http://127.0.0.1:3000/?name=zhan&age=20
//注意:默认情况下,req.query是一个空对象
console.log(req.query)
res.send(req.query)
})
静态资源处理
- 调用express.static()方法,快速的对外提供静态资源
//访问:http://127.0.0.1:3000/index.html app.use(express.static('./public'))
- 加路径前缀
//访问:http://127.0.0.1:3000/public/index.html app.use('/public', express.static('./public'))
模块化路由
- 编写路由模块
router.js//1.导入express const express = require('express') //2.创建路由对象 const router = express.Router() //3.挂载具体的路由 router.get('/user/list',(req,res) => { res.send('Get user list.') }) router.post('/user/add',(req,res)=> { res.send('Add new user.') }) //4.向外导出路由对象 module.exports = router
- 导入 router.js
const express = require('express') const app = express() //1.导入路由模块 const router = require('./router') //2.注册路由模块 //app.use(router) app.use('/api', router) //加路由前缀 //app.use()函数的作用,就是来注册全局中间件 app.listen(3000, () => { console.log('http://127.0.0.1:3000') })
跨域
- 安装
npm i cors
- 使用
const cors = require('cors') //跨域模块 app.use(cors()) //设置访问域名限制 var corsOptions = { origin: ['http://localhost:9000'], optionsSuccessStatus: 200 // credentials: true }