路由没有在我的NodeJS/Express/Typescript应用中执行

路由没有在我的NodeJS/Express/Typescript应用中执行

问题描述:

我有一个路由'/ api/users',不知道如何处理我的路由定义。我无法发现有什么问题,但是每次我尝试从浏览器访问/ api /用户时,浏览器都保持不变的循环。路由没有在我的NodeJS/Express/Typescript应用中执行

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; 
} 

我的打字稿是生疏,但我相信你是通过你的功能routesapp.use代替路由器实例返回。

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

应该成为

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