我从包管理器“npm”下载了包“immutable”,其文件“package.json”的属性为“typings”,其值为node_modules/immutable/dist/immutable.d.ts
问题是,当我尝试从类中使用它时,我收到错误TS2307 (TS) Cannot find module 'immutable'
import { Immutable } from "immutable"; // error here
export class RestRepository<T = IEntityBase> extends BasicRepository<T>
{
private c: Immutable.Foo;
}
我知道来自tsconfig的属性exclude
排除了node_modules
文件夹中的所有文件(node_modules/@typings
除外),但“@ typings / immutable”没有ts文件而是{{1} }
README.md
这是Facebook的不可变(https://github.com/facebook/immutable-js)的存根类型定义。
Facebook的Immutable提供了自己的类型定义,所以你不需要安装@ types / immutable!
非常感谢任何帮助!
- tsc 2.6
答案 0 :(得分:0)
我对Immutable有类似的问题。我可以解决的唯一方法是执行以下3个步骤:
1)将immutable.d.ts文件复制到应用程序的根目录(在我的情况下,该目录与我的索引相同。
2)像上面一样导入不可变的命名空间(第一步阻止了该操作显示错误)
3)导入我实际上想使用的功能,例如Map等
这给我留下了以下内容:
import * as Immutable from "immutable";
import { Map } from "immutable";
只有这样,我才能摆脱命名空间导入上的错误(对我而言,这阻止发布版本),并导入我尝试使用的实际功能(地图)。