路由没有在我的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;
}
答
我的打字稿是生疏,但我相信你是通过你的功能routes
到app.use
代替路由器实例返回。
app.use('/api/Users', userRouter.routes);
应该成为
app.use('/api/Users', userRouter.routes());