import express from "express"; import config from "./config/config.js"; import { ipv6, ipv4 } from "./utils/ip.js"; import tagsRouter from "./router/tags.js"; import infoRouter from "./router/info.js"; import searchRouter from "./router/search.js"; import homeRouter from "./router/home.js"; const app = express() //解决跨域 app.use((req, res, next) => { // 设置是否运行客户端设置 withCredentials // 即在不同域名下发出的请求也可以携带 cookie res.header("Access-Control-Allow-Credentials", true) // 第二个参数表示允许跨域的域名,* 代表所有域名 res.header('Access-Control-Allow-Origin', '*')//配置80端口跨域 res.header('Access-Control-Allow-Methods', 'GET, PUT, POST, OPTIONS') // 允许的 http 请求的方法 // 允许前台获得的除 Cache-Control、Content-Language、Content-Type、Expires、Last-Modified、Pragma 这几张基本响应头之外的响应头 res.header('Access-Control-Allow-Headers', '*') if (req.method == 'OPTIONS') { res.sendStatus(200) } else { next() } }) app.use('/v1/api/tag', tagsRouter); app.use('/v1/api/info', infoRouter); app.use('/v1/api/search', searchRouter); app.use('/v1/api/home', homeRouter); app.listen(config.port, () => { console.log(` 爬虫运行在下面网址: 1️⃣ 公网 IPV6: http://[${ipv6()}]:${config.port} 2️⃣ 局域网 IPV4: http://${ipv4()}:${config.port} `) }) export default app