我创建了类用户,我只定义了 get 方法,但是当我在中间件中调用该类并使用它时,它没有显示任何错误,但是当我运行代码时,它显示未找到服务器。当我删除这条线app.use(userRoute)我的服务器工作。
用户.ts
import { NextFunction, Request, Response } from 'express';
import { Controller, Get, Req, Res } from 'routing-controllers'
@Controller()
class User {
@Get('/signup')
signUP(@Req() req: Request, @Res() res: Response, next: NextFunction) {
return res.render('signup')
};
}
export { User as userRoute }
Run Code Online (Sandbox Code Playgroud)
应用程序
const express = require('express')
const path = require('path')
const app = express()
import { userRoute } from "./routes/user";
const bodyPaser = require('body-parser')
app.use(bodyPaser.urlencoded({ extended: true }))
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs') …Run Code Online (Sandbox Code Playgroud) 我收到以下错误。有人可以帮忙吗
D:\Learning\Node\r-controller\node_modules\src\metadata\ParamMetadata.ts:120 const ParamTypes = (Reflect as any).getMetadata('design:paramtypes', args.object, args.method); ^ TypeError:Reflect.getMetadata 不是位于 D:\Learning\Node\r-controller 的新 ParamMetadata (D:\Learning\Node\r-controller\node_modules\src\metadata\ParamMetadata.ts:120:43) 处的函数\node_modules\src\metadata-builder\MetadataBuilder.ts:125:25 at Array.map () at MetadataBuilder.createParams (D:\Learning\Node\r-controller\node_modules\src\metadata-builder\MetadataBuilder.ts: 125:8) 在 D:\Learning\Node\r-controller\node_modules\src\metadata-builder\MetadataBuilder.ts:111:28 在 Array.map () 在 MetadataBuilder.createActions (D:\Learning\Node\r -controller\node_modules\src\metadata-builder\MetadataBuilder.ts:108:30) 在 D:\Learning\Node\r-controller\node_modules\src\metadata-builder\MetadataBuilder.ts:85:33 在 Array.map () 在 MetadataBuilder.createControllers (D:\Learning\Node\r-controller\node_modules\src\metadata-builder\MetadataBuilder.ts:81:24)