首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DefinitelyTyped Lodash

DefinitelyTyped Lodash
EN

Stack Overflow用户
提问于 2016-04-02 13:34:47
回答 3查看 2.4K关注 0票数 5

我想在保存类型的同时从lodash导入单个函数。如下所示:

代码语言:javascript
复制
import invokeMap from 'lodash/invokeMap';

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

是否有一种方法只导入有关提交文件的输入信息,而不导入提交文件本身?

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

代码语言:javascript
复制
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?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-04 08:10:41

对于当前的类型寄存,这应该像您以前尝试过的那样工作:

代码语言:javascript
复制
import invokeMap from 'lodash/invokeMap';

只需安装环境依赖项的当前版本,如下所示:

代码语言:javascript
复制
typings i -SA github:DefinitelyTyped/DefinitelyTyped/lodash/lodash.d.ts#672afd8f7b09d839b61eeb4867753876cf79c8b6
票数 2
EN

Stack Overflow用户

发布于 2016-09-18 19:59:15

从TypeScript 2开始,您可以直接从npm安装类型:

npm install @types/lodash

这些类型对每个模块都有声明。

票数 2
EN

Stack Overflow用户

发布于 2016-04-02 13:56:33

您可以使用对象析构只从模块导入invokeMap函数。

代码语言:javascript
复制
import {invokeMap} from 'lodash';

invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36373959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档