我想从 lodash 导入单个函数,同时保留类型。比如这个:

import invokeMap from 'lodash/invokeMap';

但似乎我不能这样做。编译器说没有模块 lodash/invokeMap 。这是正确的 - DefinitelyTyped 只为 lodash 声明了顶级模块,所以我只能导入整个包。但我只想导入一个函数。

有没有办法只导入有关 lodash 的类型信息而不导入 lodash 本身?

以下是我的解决方案。我想使用标准的 CommonJS require 函数来导入没有类型信息的必要函数,然后将类型转换到它上面:
declare var require;

var invokeMap: _.invokeMap = require('lodash/invokeMap');
               ^^^^^^^^^^^
               Here I want to cast proper type from DefinitelyTyped,
               but how to reach that `invokeMap` typings alone?

最佳答案

使用当前的类型 lodash 这应该可以像您之前尝试过的那样工作:

import invokeMap from 'lodash/invokeMap';

只需安装当前版本的环境依赖项,如下所示:
typings i -SA github:DefinitelyTyped/DefinitelyTyped/lodash/lodash.d.ts#672afd8f7b09d839b61eeb4867753876cf79c8b6

关于typescript - 绝对类型的 Lodash,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36373959/

10-16 19:41