我正在从VS 2013 + TS 1.8迁移到VS 2017 + TS 2.5
作为这项工作的一部分,似乎我必须更新反应的类型等。
不幸的是,新的输入正在使用commonjs:
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom
旧的打字机没有使用任何模块系统。
有没有办法将commonjs d.ts转换为"没有模块" d.ts?
答案 0 :(得分:0)
反应的类型有export as namespace React
,这很特别 -
如果你的代码没有使用任何模块系统,它允许你只使用全局变量React
。
因此,例如,此代码可以使用最新的typescript@2.7.2
,@types/react@16.0.38
和@types/react-dom@16.0.4
编译(和类型检查):
ReactDOM.render(
<h1>Hello, world!</h1>,
document.getElementById('root')
);
以下是有关特殊export as namespace
功能的更多信息:https://github.com/Microsoft/TypeScript/wiki/What's-new-in-TypeScript#support-for-umd-module-definitions