【发布时间】:2017-01-30 07:16:45
【问题描述】:
基本上我不想在每个文件中都导入 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() 时,我没有从智能感知(没有错误)获得任何帮助,并且打字稿在编译时也没有给出任何错误(这是错误的,我应该得到错误)。
非常感谢您提前提供的帮助!
【问题讨论】:
-
智能感知中缺少哪些信息?如果您没有收到任何编译器错误,那么应该没问题,并且您的智能感知应该能够处理好事情。
-
嗨@NitzanTomer,感谢您对此进行调查。如果我使用 head('wrong', 'parameters') 那么我会在命令行上从 typescript 编译器获得智能帮助和错误(这是正确的)。但是当我使用 window.L.head('wrong', 'parameters') 时,我不会收到智能感知或命令行错误(这是错误的......我应该得到,因为我传递了错误的参数)
标签: typescript typescript-typings typescript2.0