简单搭建express服务器
1. 初始化
npm init -y
2. 安装所需依赖
npm i express mongoose dotenv jsonwebtoken bcryptjs cookie-parser cloudinary socket.io
- express:搭键路由、接收请求、发送响应
 - mongoose:操作 mongDB
 - dotenv:读取 .env
 - jsonwebtoken:JWT 签发/验证
 - bcryptjs:把明文密码转成哈希值
 - cookie-parser:读写 cookie
 - cloudinary:图片、文件上传
 - socket.io:实时聊天
 
npm i nodemon -D
将 nodemon 装成开发依赖,在开发环境中自启动
3. 修改 package.json 中的 scripts 和 type
{... ..."scripts": {"dev": "nodemon index.js"},... ..."type": "module",... ...
}
4. 新建 index.js 文件
import express from 'express'
const app = express()app.listen(5001, () => {console.log('server is running on port 5001');
})
5. 创建 src 及对应的文件夹

🎯因为上面修改了 index.js 的文件路径,所以 package.json 中也需要做对应的修改(修改后需要重启服务器)

6. 建立测试接口
index.js
import authRoutes from './routes/auth.route.js'
import express from 'express'const app = express()app.use("/api/auth", authRoutes)app.listen(5001, () => {console.log('server is running on port 5001');
})
auth.route.js
import express from 'express'const router = express.Router()router.get('/getData', (req, res) => {res.send('getData route')
})export default router
就可以去访问 http://localhost:5001/api/auth/getData 啦
7. 使用 controller
如果将每个接口的处理逻辑都放到 route 中,会导致文件内容看起来很繁琐,所以将每个接口的处理逻辑都放置到 controller 中
index.js
import express from 'express'
import { signup, login, logout } from '../controllers/auth.controller.js'const router = express.Router()router.post('/signup', signup)
router.post('/login', login)
router.post('/logout', logout)export default router
auth.controller.js
export const signup = (req, res) => {res.send('signup route')
}export const login = (req, res) => {res.send('signup route')
}export const logout = (req, res) => {res.send('signup route')
}
