Я пытаюсь понять концепцию импорта машинописного текста, особенно экспортируемого Обещания.Я следовал за ответом 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) не существует для типа «тип импорта»,Наверное, я не понял чего-то очень важного в отношении импорта / экспорта.