Должен ли я обернуть весь мой экспресс-сервер в классе с машинописью? - PullRequest
0 голосов
/ 22 октября 2018

Я считаю себя достаточно компетентным с nodeJs.Недавно я решил изменить свои приложения, начав разработку с Typescript.Недавно я видел много блогов (, подобных этому ), в которых при создании RESTful API они обернули все модули и, прежде всего, точку входа приложения в класс.Это правильно, или я могу продолжать разрабатывать свои приложения с машинописью, как раньше?

1 Ответ

0 голосов
/ 22 октября 2018

Это вопрос стиля, а не чего-либо еще.Но Express не продвигает ООП для своих подразделений, и нет никакой определенной выгоды от определения приложения в качестве класса:

class App {

    public app: express.Application;

    constructor() {
        this.app = express();
        this.config();        
    }

    private config(): void{
        // support application/json type post data
        this.app.use(bodyParser.json());

        //support application/x-www-form-urlencoded post data
        this.app.use(bodyParser.urlencoded({ extended: false }));
    }

}

export default new App().app;

App - это синглтон, который не должен использоваться повторно.Это не дает никаких преимуществ, которыми классы известны как повторное использование или тестируемость.Это излишне сложная версия:

const app = express();

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

export default app;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...