导入Promise的正确方法是什么?

时间:2019-04-14 14:47:57

标签: typescript express promise tslint

我试图理解打字稿导入的概念,尤其是导出的Promise的概念。我遵循了答案https://stackoverflow.com/a/41364294/3969007,它有效。但是ts-lint规则“ no-var-requires”不喜欢这种解决方案。因此,我的问题。

我当前使用的代码(最小示例):

// 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)就不存在'import type'类型。我想我对进口/出口不是很了解。

1 个答案:

答案 0 :(得分:1)

尝试:

import { appPromise } from './app';