我正在尝试为React StaticContainer库创建一个d.ts
文件。
NPM中安装的lib如下所示:
var React = require('react');
var StaticContainer = (function (_React$Component) {
function StaticContainer() {
// ...
}
// ...
return StaticContainer;
})(React.Component);
module.exports = StaticContainer;
示例用法如下:
var StaticContainer = require('react-static-container');
我不确定如何为此创建声明并在TypeScript中使用它。从我的研究到目前为止,我已经想出了这个:
import * as StaticContainer from 'react-static-container'
这个d.ts
文件:
interface StaticContainer extends React.Component<any, any> {
shouldUpdate?:boolean;
}
declare module "react-static-container" {
export = StaticContainer;
}
但是TSC给了我这个错误:
错误:(3,34)TS2497:模块'“react-static-container”'解析为非模块实体,无法使用此结构导入。
我很担心module.exports = StaticContainer
应该如何转换为d.ts
文件。这是怎么做到的?
答案 0 :(得分:1)
模块&#39;&#34;反应静态容器&#34;&#39;解析为非模块实体,无法使用此结构导入。
错误说的正是如此。您需要使用export =
导入import require
样式库。这是因为ES6规范。
import StaticContainer = require('react-state-container');