考虑到我们试图在使用ng-packagr构建的角项目中引用Lodash,我们得到了以下错误:
错误TS2686:“_”指的是UMD全局文件,但当前文件是一个模块。考虑添加一个导入。
这表明它没有正确地选择我们设置的类型记录定义文件。
此错误仅在使用ng-packagr生成时发生。当使用ng服务测试演示应用程序时,它工作得很好。
typings.d.ts
/* SystemJS module definition */
declare var module: NodeModule;
interface NodeModule {
id: string;
}
// lodash global typing - begin
declare namespace _ {
}
// lodash global typing - end我在ng-packagr的github页面上看到了关于使用外部或嵌入式的各种问题,但是文档非常稀少,而且在这方面的实验并没有给我带来任何线索。
我见过这个片段弹出几次,它似乎准确地引用了正确的路径。
ng-package.json
...
"externals": {
"lodash": "./node_modules/lodash/index.js"
},
...有人知道我怎么调试和调查这件事吗?
发布于 2018-06-05 08:51:11
我已经找到了解决这个问题的办法,但我对解决办法不满意。
在下面的链接中,ng-packagr的作者建议使用三重斜杠引用来引用.d.ts。
https://stackoverflow.com/questions/50683759
复制相似问题