由于如果使用import
,TypeScript中的内置模块将被严格键入,是否有办法相当于节点/ CommonJS的“单一要求”?
例如,而不是:
const x = require("x"),
y = require("y")
做类似的事情:
import x = require("x"),
y = require("y")
以上是使用ES2017目标进行TSC的错误。
答案 0 :(得分:3)
不。
没有语法支持此功能。
import x = require('x'), y = require('y')
建议import
类似于var
,let
或const
,但事实并非如此。它在语言中具有特殊含义。
我认为这就是他们选择不将其纳入语言的原因。
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