打字稿多次导入

时间:2017-07-21 07:19:28

标签: javascript typescript

我想将'express'模块导入我的应用程序。

作为Mozilla says,我们可以使用下面的代码编写:

import { Application }, * as Express from 'express'

但是当我在typescript和VSCode中使用它时显示错误,所以我被迫使用这段代码:

import * as Express from 'express'
import { Application } from 'express'

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

您的代码:

import { Application }, * as Express from 'express'

错了。幸运的是you are using TypeScript and its preventing a bug。正确的语法是:

import * as Express from 'express'
import { Application } from 'express'

你已经想到了。您不能在同一行中导入成员导入和*。 MDN文档也反映了https://developer.mozilla.org/en/docs/web/javascript/reference/statements/import

答案 1 :(得分:2)

如果我正确解释了TypeScript,那么使用以下方法导入模块:

  

从'express'导入*作为Express

将创建一个Namespace,您可以使用以下语法引用所有不同的方法/组件:

Express.Application

导入

  

从'express'导入{Application}

只会导入Express的Application成员,然后将其作为自己的类进行引用。

如果你不需要Express中的所有内容,那么第一次导入是不必要的,你可以用

链接你的依赖项。
import { Application, 'Member1', 'Member2' } from 'express'