我想将类型添加到纯粹用Javascript编写的组件库中,而我目前无法直接将其添加到其中。我已经按照adding declarations to third party packages的示例进行操作,几乎可以理解我的意思。我当前遇到的问题是包装结构。
该软件包以node_modules
的形式位于@company/company-widgets
中,由于tsc
无法找到并关联我添加的声明文件,因此我不确定如何处理内部模块。编译器的建议是
Try `npm install @types/company__company-widgets` if it exists or add a new declaration (.d.ts) file containing `declare module 'company__company-widgets';`
我尝试了以下方法:
tsconfig.json
index.d.ts`文件用编译器消息中指定的模块声明修改"typeRoots": ["@types", "./src/@types"] and adding an
tsconfig.json
的更改,在src/@types
下添加目录以匹配node_modules
的目录module
和一个 __ company-widgets namespace
node_modules
放置一个声明。不幸的是,这些都没有找到声明,因此我一直认为它无法将声明中的模块名称与包名称相关联。 任何建议或答案将不胜感激。谢谢!
答案 0 :(得分:1)
编译器的建议是错误的:模块声明应为declare module '@company/company-widgets';
,而不是declare module 'company__company-widgets';
。我fixed this recently,此修复程序应该在TypeScript 3.1中。