TypeScript方式一次进行多次导入?

时间:2017-10-20 15:10:21

标签: typescript

由于如果使用import,TypeScript中的内置模块将被严格键入,是否有办法相当于节点/ CommonJS的“单一要求”?

例如,而不是:

const x = require("x"),
    y = require("y")

做类似的事情:

import x = require("x"),
    y = require("y")

以上是使用ES2017目标进行TSC的错误。

1 个答案:

答案 0 :(得分:3)

不。

没有语法支持此功能。

import x = require('x'), y = require('y')建议import类似于varletconst,但事实并非如此。它在语言中具有特殊含义。

我认为这就是他们选择不将其纳入语言的原因。

IMO,当它们分成不同的行时,它更清洁,更容易维护。

这与var x = 1, y = 2; vs var x = 1;\n var y = 2;

的论点相同

顺便说一句,从ES2015开始,您将使用import ... from ...语法。除非您要导入commonJS库。

在ES2015中,也没有“同时”导入多个模块的语法。

定位ES2017不适用于import x = require('x')语法。

你必须做import * as x from 'x'进入互操作并且还有其他问题。

您可以从此处了解详情:https://github.com/Microsoft/TypeScript/issues/16093

更新:发布了TypeScript@2.7,您现在可以直接执行import EditableElement from 'Transformer'

启用esModuleInterop

中的tsconfig.json