如何在 Ionic 2 中使用 lodash?

Posted

技术标签:

【中文标题】如何在 Ionic 2 中使用 lodash?【英文标题】:How do i use lodash with Ionic 2? 【发布时间】:2016-01-29 03:26:52 【问题描述】:

我刚刚开始使用 Ionic 2 开发一个新项目。我是 TypeScript 的新手,一直在尝试弄清楚如何将 lodash 包含到我的项目中。

有没有人做过这件事,可以指出正确的方向吗?

【问题讨论】:

【参考方案1】:

Ionic 3 的未来用户

npm install lodash --save
npm install @types/lodash --save

Official Doc

npm install 将从 NPM 下载库的副本并将其保存在应用程序的 node_modules 目录中。 --save 会告诉 NPM CLI 添加一个条目到你的应用的 package.json 依赖列表中。 您现在可以使用该库了。

如果你想从 lodash 导入所有函数,那么使用

import lodash from 'lodash';
lodash.capitalize('myStringToCapitalize');

如果您想使用 lodash 中的特定功能,请使用

import  shuffle  from 'lodash';
shuffle(results);

【讨论】:

顺便说一句,如果我使用import range from 'lodash'; - 为什么无法识别直接在模板中使用range?我需要在我的ts 文件中创建类似:range(min,max) return range(min,max) ; 【参考方案2】:

实际上,如果您尝试在 ionic 2 应用程序中使用 lodash,则上述答案均未提及您需要安装 lodash 的类型定义。要将lodash 的类型定义安装到您的项目中,请运行以下命令:

typings 节点模块安装为全局(如果尚未安装):sudo npm install typings --globallodash 安装到您的项目中:npm install lodash --save 安装lodash的类型定义:typings install lodash --save

一旦您将lodash 的类型定义安装到您的项目中,您可以将lodash 导入到您的ionic2 .ts 文件中,如下所示:

import * as _ from 'lodash';

更新:2017 年 10 月 2 日 Ionic 团队发布了一篇文档,介绍了如何在 Ionic 项目中使用 3rd 方库。请参考此处查看如何将 lodash 与最新的 ionic http://ionicframework.com/docs/developer-resources/third-party-libs/ 一起使用的示例

【讨论】:

这个建议对我部分有用。最后一个命令不起作用。标志--ambient 现在已弃用,控制台说使用--global 但是当您使用--global 时,它会抱怨并建议您删除--global 选项。基本上,typings install lodash --save 为我工作(在执行了你建议的前两个命令之后)。谢谢! 在我安装typings lodash时为我工作。谢谢。【参考方案3】:

    从您的终端安装lodashnpm

    $:npm i -S lodash 
    // npm install --save lodash (--save,-S saves to package.json)
    

    像这样在你的组件中导入 lodash:

    import * as _ from 'lodash';
    

【讨论】:

你也可以通过npm install --save @types/lodash获得types【参考方案4】:

需要注意的是,您可以为每个组件添加特定的lodash 类型 而不是用 import * as _ from 'lodash'; 之前提到的内容导入所有 lodash

所以在组件中,如果您只使用isMatch,您可以轻松地将其添加为

import  isMatch  from 'lodash';

然后像这样使用它

isMatch(this.foo1, this.foo2);

这明确声明了您正在使用的内容,并有助于在与超过 1 个开发人员一起处理组件时提高可维护性

【讨论】:

【参考方案5】:

因为这完全取决于您使用的 Ionic 2 版本,以上都不是我 100% 的解决方案,但最终确实让我找到了正确的方向。 我想为Ionic 2的以下版本添加我的答案版本

ionic framework version: 3.5.0
typescript: 2.3.3

我不需要安装任何东西,Lodash 就在node_modules/lodash 目录中。

我在应用程序 .ts 文件中所做的唯一事情是:

import * as Lodash from 'lodash';

// Inside the class
new_array = Lodash.shuffle(data_array);

【讨论】:

【参考方案6】:

这一定是 Ionic 2.1.0 的正确答案

试试这个:

npm install -g typings
typings search lodash
typings install lodash --save

也许这个blog 可以帮助你

【讨论】:

【参考方案7】:

从Ionic 2 RC0 开始,您必须执行以下操作。

npm install @types/lodash --save-dev --save-exact

然后像这样导入

import _ from 'lodash';

【讨论】:

【参考方案8】:

对我来说,它使用 ionic 2 (2.0.0.beta.11) 上的类型定义

步骤

sudo npm install typings --g

其次

npm install lodash --save

typings install lodash --save

最后在项目中使用 lodash

import * as _ from 'lodash';

var index = _.indexOf(albumList, data.album.id)
console.log(index);

【讨论】:

【参考方案9】:

对于角度 2

    使用 npm 安装 lodash:

    npm i -S lodash

    像这样导入lodash:

    从'lodash'导入*作为_;

对于角度 1.x

    使用 bower 安装包:

    凉亭安装 --save ng-lodash

    在 ionic.bundle.js 和 app.js 之间的 index.html 中包含脚本:

    将模块添加为应用的依赖项

    angular.module('starter', ['ionic', 'starter.controllers', 'starter.services', 'ngLodash'])

    注入您的控制器并开始使用它

    .controller('yourController', function($scope, lodash) lodash.assign( 'a': 1 , 'b': 2 , 'c': 3 ); );

【讨论】:

这可能适用于 Ionic 1,但问题是 Ionic 2。

以上是关于如何在 Ionic 2 中使用 lodash?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用lodash从列表中删除元素?

如何使用 lodash 从列表中删除元素?

如何在 HTML 中使用来自 lodash/fp 的管道?

如何使用 lodash 对 sum 进行分组

如何在打字稿中正确使用 lodash-es?

如何在 TypeScript 中重新导出单个 lodash 模块