Как правильно импортировать Обещание? - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь понять концепцию импорта машинописного текста, особенно экспортируемого Обещания.Я следовал за ответом https://stackoverflow.com/a/41364294/3969007, и это работает.Но правилу ts-lint 'no-var-require' не нравится это решение.Отсюда мой вопрос.

Код, который я сейчас использую (min-пример):

// app.ts
import Express from 'express';
import { createConnection } from 'typeorm';

const app = Express();
const main = async () => {
    await createConnection();
}

export const appPromise = main().then(() => app);
// server.ts
import http from 'http';
const appPromise = require('./app').appPromise;

const httpPort = normalizePort(process.env.PORT || '8080');
let httpServer: any;
appPromise.then((app: Express.Application) => {
    httpServer = http.createServer(app);

    httpServer.listen(httpPort);
});

Как я уже сказал, ts-lint не нравится этот импорт.Поэтому я попытался изменить его на:

import appPromise = require('./app').appPromise;

Но в этом случае ему не нравится часть .appPromise, и позже (appPromise.then) не существует для типа «тип импорта»,Наверное, я не понял чего-то очень важного в отношении импорта / экспорта.

1 Ответ

1 голос
/ 14 апреля 2019

Попробуйте:

import { appPromise } from './app';
...