angular - DHTMLX 甘特图 - 错误 TS6137:无法导入类型声明文件
问题描述
这一直工作到昨天,所以我相信 typescript 或 dhtmlxgantt 发生了一些变化。
我在编译时收到这些错误:
error TS2306: File 'projectPath/node_modules/@types/dhtmlxgantt/index.d.ts' is not a module.
src/app/shared/components/gantt/gantt.component.ts(11,17): error TS6137: Cannot import type declaration files. Consider importing 'dhtmlxgantt' instead of '@types/dhtmlxgantt'
我也尝试了他们的演示代码并遇到了同样的错误: https ://github.com/DHTMLX/angular2-gantt-demo
有没有人遇到过同样的问题并且可以解释一下?
解决方案
看起来 dhtmlx-gantt 的类型定义似乎与 typescript 2.9.1 不兼容(昨天发布https://github.com/Microsoft/TypeScript/releases/tag/v2.9.1)
dhtmlxGantt 的类型定义有一段时间没有更新,这是问题的主要原因。
作为目前可能的解决方法,您可以将项目中的打字稿降级到 2.8.x(我已经检查过构建似乎在 2.8.4 上工作)
npm uninstall typescript
npm install typescript@2.8.4
或者,在 package.json 中指定 typescript 版本
"typescript": "2.8.4",
如果降级不是一个选项,您可以删除 dhtmlx 甘特图的类型定义并手动声明甘特图实例:
declare let gantt: any;
显然,你会丢失类型信息,但它似乎仍然比不会编译的项目好
更新
此拉取请求更新了类型定义,感谢https://github.com/duayres。
因此,这个问题现在应该得到解决
推荐阅读
- spring - Spring MVC + thymeleaf:如何允许空输入?
- ios - 如何让 CollectionView 仅在下半部分加载图像,同时仍允许在顶部显示静态内容
- python - 如何计算前缀行的平均值并将其作为熊猫中的新列?
- python - 如何从我的 Amazon EC2 实例中检索结果?
- verilog - Verilog中的可变长度寄存器片
- reactjs - 在firebase应用程序中使用react useState钩子时出现无效的钩子调用错误
- c# - AutoMapping:取消引用可能为空的引用?空条件运算符不适用于 AutoMapping
- macos - Mac OS Catalina VM 加入本地主机
- python - Python Multiprocessing apply_async 不可腌制?
- hive - 为什么这样的输出为什么第二行在第二列中给出NULL值选择堆栈(2,'A',10,日期'2015-01-01',1,'B',日期'2015-02-02', 2)