TypeScript:使用 DefinitelyTyped 定义时出现 TS2036 "not a module" 错误
TypeScript: TS2036 "not a module" error when working with DefinitelyTyped definitions
我从 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 定义文件的工作流程是什么?
使用新的 TypeScript 2.0,仍处于测试阶段 (npm install typescript@beta -g
),您应该使用 npm install @types/react
获取您的定义文件。
其次,如果模块(或模块的声明)中有语句 export =
,则应使用语法 import =
进行相应导入,如下所示:import React = require('react');
我从 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 定义文件的工作流程是什么?
使用新的 TypeScript 2.0,仍处于测试阶段 (npm install typescript@beta -g
),您应该使用 npm install @types/react
获取您的定义文件。
其次,如果模块(或模块的声明)中有语句 export =
,则应使用语法 import =
进行相应导入,如下所示:import React = require('react');