Files
ClassContent/项目合集/枸杞社/backend/app.js
2024-09-27 02:06:13 +08:00

51 lines
1.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
var cheer = require('cheerio');
var config = require('./config/index');
var axios = require('axios');
// 因为对方网站的域名经常变,导致爬虫无法爬数据,所以这里会在每次后端接口
// 刚启动的时候,自动从目标网站的 防失联 页面 抓取最新的
// 网站域名然后保存到全局config中。
axios.get(config.pushUrl)
.then(function (response) {
var $ = cheer.load(response.data)
config.BaseUrl = `${$(".title + p>a").text()}/`
// console.log("抓取到的网站最新域名为:", config.BaseUrl);
})
var indexRouter = require('./routes/index');
var agentRouter = require('./routes/agent');
var app = express();
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use('/api/json/', indexRouter);
app.use('/api/json/', agentRouter);
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
});
module.exports = app;