Express
前言废话
做前端两年了,我终于向全栈迈进了,node官网大量api对新手学习并不友好,我打算跟着B站视频从使用Express框架开始一点点接触node,待我度过初级阶段和遇到场景再深入官网学习各个api
一、快速上手路由
- 准备环境 node npm
// 安装成功后查看当前版本号
node -v
npm -v
- 新建文件夹
express-test, 安装express
npm install express --save
- 新建文件server.js,开始写nodejs
// 引用express模块
const express = require('express');
// 执行express函数,生成应用实例
const app = express();
// 定义路由
app.get('/', function(req, res){
res.send({ page: 'home' })
})
app.get('/about', function(req, res){
res.send({ page: 'About Us' })
})
app.get('/products', function(req, res){
res.send([
{ id: 1, title: 'Product A' },
{ id: 2, title: 'Product B' },
{ id: 3, title: 'Product C' },
])
})
// 监听启动服务器
app.listen(3000, () => {
console.log('App listening on port 3000!');
})
node server.js运行 不会监听文件更改,每次修改文件都需要重新运行
- nodemon运行
npm i -g nodemon安装nodemon,执行nodemon server.js更改文件保存后会自动重启
二、静态文件托管
通过如下代码就可以将 public 目录下的图片、CSS 文件、JavaScript 文件对外开放访问
app.use('/static', express.static('public'))
现在,就可以通过带有 /static 前缀地址来访问 public 目录中的文件了
http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html
三、CORS跨域请求
解决跨域问题
- 安装
cors
npm install cors --save
- 使用
cors
const cors = require('cors');
app.use(cors());
或者直接
app.use(require('cors')());