UNPKG

fjh

Version:

博客api

37 lines (31 loc) 1.25 kB
// 创建服务器 const express = require('express'); const app = express(); // 托管网站文件 app.use(express.static('./web')); // 解决跨域与解析表单 const cors = require('cors'); app.use(cors()); app.use(express.urlencoded({ extended: false })); // 解析 token const config = require('./public/config.js'); const { expressjwt: expressJWT } = require('express-jwt'); app.use(expressJWT({ secret: config.jwtSecretKey, algorithms: ['HS256'] }).unless({ path: [/^\/api/] })); // 注册路由 const userRouter = require('./router/user'); app.use('/api', userRouter); // 错误中间件 const joi = require('@hapi/joi'); app.use((err, req, res, next) => { if (err instanceof joi.ValidationError) return res.send({ message: '数据验证失败!' }); if (err.name === 'UnauthorizedError') return res.send({ message: '暂未登录!' }); res.send({ message: '发生未知错误!' }); }) // 启动服务器兼初始化数据库 app.listen(80, () => { const db = require('./mysql/index.js'); db.query('truncate table captchadata', (err, results) => { if (err) return console.log({ status: 0, message: err.message }); console.log('启动服务器') }) })