快递中的路线冲突

时间:2019-01-13 21:46:35

标签: node.js express

我正在为我的API建立文档,我以localhost:4000/docs的形式为其创建了一条路由,但是由于某种原因,当键入localhost:4000时,浏览器会加载文档的内容,但我忘记了还有我无法想象的东西。

app.js

const express = require('express')
const app = express()

require('./middlewares/md-bootConfig')(app)//start config
require('./routes/Login')(app) //route login
require('./routes/Home')(app) //route home
require('./routes/Doc')(app) //route documents api

module.exports = app

静态文件夹

const bodyParser = require('body-parser')
const logger = require('morgan')
const path = require('path')
const express =  require('express')
module.exports = app => {
    app.use(express.static(path.join(__dirname, '../../../docs')))
    app.set('json spaces', 2)
    app.use(bodyParser.urlencoded({extended: false}));
    app.use(bodyParser.json());
    app.use(logger('dev'));
}

路由/ docs

const path = require('path')
module.exports = app => {
    app.get('/docs', (req, res) => {
        res.sendFile(path.join(__dirname, '../../../docs', 'index.html'))
    })
}

docs文件夹位于项目的根目录。

路径/

const env = process.env.NODE_ENV
module.exports = app => {
    app.get('/', (req, res) =>{
        res.send({
            version: '1.0.0',
            status: 'API on-line',
            environment: env
        })
    })
}

如何输入localhost:4000并从API加载JSON状态而不是加载/docs

1 个答案:

答案 0 :(得分:2)

响应回落到您的静态路由。

app.use(express.static(path.join(__dirname, '../../../docs')))

为“ /”添加其他路线

app.get('/', (req, res) => {
})

确保已在app.use(express.static行中之前定义了此路由