TypeScript:TS2036"不是模块"使用DefinitelyTyped定义时出错

时间:2016-07-26 17:57:55

标签: typescript amd typescript-typings

我已从DefinitelyTyped提取react.d.ts文件,并将其作为node_modules/react/react.d.ts添加到我的项目中。现在,当我写import * as React from "node_modules/react/react"时,我收到以下错误:

Error TS2306: File '.../node_modules/react/react.d.ts' is not a module.

我可以通过更改react.d.ts中的以下几行来解决这个问题:

declare module "react" {
    export = __React;
}

为:

export = __React;

我的问题是:使用TypeScript定义文件的建议工作流程是什么?

1 个答案:

答案 0 :(得分:2)

使用新的TypeScript 2.0仍然处于测试阶段(npm install typescript@beta -g),您应该使用npm install @types/react获取定义文件。 其次,如果模块中存在语句export =(或模块的声明),则应使用语法import =进行相应导入,如下所示:import React = require('react');