首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在类型记录中导出类和定义中间件

如何在类型记录中导出类和定义中间件
EN

Stack Overflow用户
提问于 2020-12-03 11:03:38
回答 1查看 509关注 0票数 7

我创建类用户时,我只定义get方法,但是当我在中间件中调用类并使用它时,它没有显示任何错误,而是在运行代码时显示服务器没有找到。当我输入这一行app.use(userRoute)时,我的服务器就工作了。

users.ts

代码语言:javascript
复制
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 }

app.ts

代码语言:javascript
复制
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')


app.use(userRoute)

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

    res.write('<html lang="eng">');
    res.write('<head><title>Page</title><style>body{background-color: wheat; color: red; font-      size: 25px; padding-left: 250px;}.d{}</style></head>')
    res.write('<body><h1>It is working</h1></body>')
    res.write('</html>')
    return res.end()
});

app.listen('3000')
console.log('working')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-03 11:22:13

在导出之前创建类的实例。尝试一下这样的方法:

代码语言:javascript
复制
class User {
...
}

const userRoute =  new User()
export {userRoute}

基于routing-controllers文档的更新

根据该库的github页面,特快专递中的用法应如下所示:

代码语言:javascript
复制
@Controller()
export class UserController {

    @Get("/users")
    getAll(@Req() request: Request, @Res() response: Response) {
        return response.send("Hello response!");
    }

}


import "reflect-metadata";
import { useExpressServer } from "routing-controllers";

let express = require("express"); // or you can import it if you have installed typings
let app = express(); // your created express server
// app.use() // you can configure it the way you want
useExpressServer(app, { // register created express server in routing-controllers
    controllers: [UserController] // and configure it the way you need (controllers, validation, etc.)
});
app.listen(3000); // run your express server

看看他们的医生

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65124728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档