【问题标题】:Route not being executed in my NodeJS / Express / Typescript app路由未在我的 NodeJS / Express / Typescript 应用程序中执行
【发布时间】:2017-01-03 07:17:14
【问题描述】:

我有一个路由'/api/users',不知何故我的路由定义没有处理它。我无法发现问题所在,但每次我尝试从浏览器访问 /api/users 时,浏览器都会一直处于循环状态。

app.ts

import * as express from "express"
import * as bodyParser from "body-parser"
import * as mongoose from "mongoose"
import {Config as config} from "./config"

let app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
})) 

//routes:
import * as userRouter from './Routes/userRoutes'
app.use('/api/Users', userRouter.routes);

var server = app.listen(3000, function () {
    console.log('server is up');
})

userRoutes.ts

import * as express from "express"

export function routes() : express.Router {
    let userRouter = express.Router();

    userRouter.route('/')
        .get(function(req,res ) {
            res.send('blah')
        }) 

    return userRouter;
}

【问题讨论】:

    标签: node.js express typescript


    【解决方案1】:

    我的 TypeScript 生锈了,但我相信您将函数 routes 传递给 app.use 而不是它返回的路由器实例。

    app.use('/api/Users', userRouter.routes);
    

    应该变成

    app.use('/api/Users', userRouter.routes());
    

    【讨论】:

      猜你喜欢
      • 2023-02-17
      • 2018-06-18
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      相关资源
      最近更新 更多