我正在尝试在我的节点模块中添加一个打字稿声明文件,但在VS Code中的另一个项目中使用它时遇到错误:
导出的外部包装类型文件... / ttk.d.ts不是模块
有问题的ttk.d.ts文件是here。
奇怪的是,在VS Code中我使用声明文件进行自动完成。有谁知道我做错了什么?
编辑:这是导入模块的测试文件:
const ttk = require('ttk');
const t = ttk.factory();
const r = t`Hello, ${'@name'}!`;
const s = r({ name: 'World' });
console.log(s);
答案 0 :(得分:3)
基本上,该文件被声明为全局代码(因为它没有顶级导入或导出),但TypeScript期望该文件是一个模块。
如果您查看被引用的.d.ts
,则需要将declare module "ttk"
的内容移出到顶层,以便将该文件视为模块。
我发了一封公关来解决这个问题:https://github.com/maexsoftware/ttk/pull/7
希望有所帮助!