基本上我不想导入lodash函数是每个文件。我想在一些全局命名空间(例如L)上公开它们。我不想导入整个lodash库,但只导入少量函数。我正在尝试跟踪事情,但后来我放弃了类型支持。
interface Lod {
head: Function
}
interface Window {
L: Lod;
}
import head = require('lodash/head');
window.L = {
head: head
}
所以现在当我使用head()然后IDE给我智能感知支持(显示错误,因为没有参数传递,但我应该给出一个数组)并且我从typescript中得到编译错误,说我将不正确的参数传递给head(是正确的)。
但是当我使用window.L.head()时,我没有从intellisense得到任何帮助(没有错误)和打字稿也没有在编译时给出任何错误(这是错误的,我应该得到错误。)
非常感谢您的帮助!
答案 0 :(得分:0)
当您直接使用[bar1:20, bar2:10]
时,编译器可以检查其中的定义,这就是智能感知工作的原因,并且您会收到错误。
但是你对head
的定义是Lod.head
,这就是为什么编译器可以传递任何参数。
你应该这样做:
Function