如何导入单个 Lodash 函数?

2023-11-27

使用 webpack,我正在尝试导入isEqual since lodash似乎正在进口一切。我尝试执行以下操作但没有成功:

import { isEqual } from 'lodash'

import isEqual from 'lodash/lang'

import isEqual from 'lodash/lang/isEqual'

import { isEqual } from 'lodash/lang'

import { isEqual } from 'lodash/lang'

您可以安装lodash.isequal作为单个模块,无需安装整个模块lodash像这样的包:

npm install --save lodash.isequal

当使用 ECMAScript 5 和 CommonJS 模块时,您可以像这样导入它:

var isEqual = require('lodash.isequal');

使用 ES6 模块,这将是:

import isEqual from 'lodash.isequal';

您可以在代码中使用它:

const obj1 = {username: 'peter'};
const obj2 = {username: 'peter'};
const obj3 = {username: 'gregory'};

isEqual(obj1, obj2) // returns true
isEqual(obj1, obj3) // returns false

Source: Lodash 文档

导入后,您可以使用isEqual您的代码中的函数。请注意,它不是名为的对象的一部分_如果你以这种方式导入它,那么你don't参考它_.isEqual,但直接与isEqual.

替代方案:使用lodash-es

正如所指出的@kimamula:

使用 webpack 4 和洛达什-ES4.17.7 及更高版本,此代码有效。

import { isEqual } from 'lodash-es';

这是因为 webpack 4 支持副作用旗帜和lodash-es4.17.7 及更高版本包括标志(设置为false).

为什么不使用带斜杠的版本?这个问题的其他答案建议您也可以使用破折号而不是点,如下所示:

import isEqual from 'lodash/isequal';

这也有效,但有两个小缺点:

  • 你必须安装整个lodash包裹 (npm install --save lodash),不仅仅是小的单独lodash.isequal包裹;存储空间便宜,CPU 速度快,所以你可能不关心这一点
  • 使用 webpack 等工具时生成的包会稍大一些;我发现捆绑包大小与最小的代码示例isEqual平均大 28%(尝试过 webpack 2 和 webpack 3,带或不带 Babel,带或不带 Uglify)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何导入单个 Lodash 函数? 的相关文章

随机推荐

  • 在 64 位计算机上访问硬件 PKCS11 令牌

    这就是我正在尝试做的事情 我有一个带有一些证书的硬件令牌 我正在编写一个 Java 应用程序来尝试访问这些证书 我在 Windows 32 位机器上使用了 jre6 中的 SunPKCS11 库 这是我如何访问证书的一个小示例 String
  • 如何在 Firefox 3 中从 HTML 输入表单获取文件路径

    我们有简单的 HTML 表单
  • ASP.NET 4.5 TryUpdateModel 不使用母版页在 WebForm 中选取表单值

    我正在使用 WebForms 并且尝试在母版页内执行模型验证 由于某种原因 模型没有获取值 这意味着如果我输入一个好的值 则在验证触发后 模型会一直返回空 因此一遍又一遍地触发验证 如果我将代码放在没有母版页的页面中 它就可以正常工作 我举
  • 从 javascript 在浏览器 (Chrome) 中播放声音

    我正在写一个 html 页面 我希望它在运行时按照某些 JavaScript 的指定发出声音 在 html 中 按照我在这里阅读的答案中的建议 我有以下行 这会在加载时播放声音 因此我确信我已经给出了有效 wav 文件的有效路径 一旦一切正
  • gcc 的 __attribute__((packed)) / #pragma pack 不安全吗?

    在 C 中 编译器将按照声明的顺序布置结构体的成员 并在成员之间或最后一个成员之后插入可能的填充字节 以确保每个成员正确对齐 gcc 提供了语言扩展 attribute packed 它告诉编译器不要插入填充 从而允许结构成员不对齐 例如
  • 在 MATLAB 中标准化矩阵的快速技术

    我想在 Matlab 中标准化矩阵的每一列 我尝试了两种实现 选项A mx max x mn min x mmd mx mn for i 1 size x 1 xn i x i mn mmd 0 mmd mmd 0 2 2 1 end 选项
  • 如何从 Tensorflow.js (.json) 模型转换为 Tensorflow (SavedModel) 或 Tensorflow Lite (.tflite) 模型?

    I have 下载的来自 Google 的 Tensorflow js tfjs 的预训练 PoseNet 模型 因此它是json file 但是 我想在Android上使用它 所以我需要 tflite模型 尽管有人将类似的模型从 tfjs
  • scanf /字段长度:使用变量/宏,C/C++

    使用 scanf 时如何使用变量来指定字段长度 例如 char word 20 1 scanf file 20s word 另外 使用 20 1 是否正确 因为它需要在末尾添加 0 相反 我想要这样的东西 define MAX STRING
  • WebRTC java 服务器问题

    我想我已经非常接近让我的 Java 服务器应用程序通过 WebRTC 与浏览器页面对话 但我还不能完全让它工作 我觉得我遗漏了一些小东西 所以我希望这里有人可以提出建议 我仔细研究了 WebRTC 示例 Java 单元测试 org webr
  • 如何从 tslint 中排除文件夹?

    我喜欢排除test在 vscode 中使用 tslint 进行文件夹表单 linting 所以我在 tslint json 配置文件中放置了一个排除项 不幸的是 排除语句不起作用 有谁知道如何设置排除吗 exclude tests ts r
  • 使用 Javascript 读取文本文件

    以下代码应在加载时读取当前目录中的文本文件的内容 并将其显示在 html 页面上 我尝试自行修改 但它没有给出输出 有没有更简单的方法可以使用其他方法获得此结果 或者请帮忙找出这段代码有什么问题
  • 如何在 Swift 中使用 XIB 文件初始化/实例化自定义 UIView 类

    我有一堂课叫MyClass这是一个子类UIView 我想用一个初始化XIB文件 我不确定如何使用名为的 xib 文件初始化此类View xib class MyClass UIView what should I do here init
  • 服务层的 Spring AOP

    我需要一些有关 Spring AOP 的帮助 我有以下代码 Service public class UserSecurityService implements UserDetailsService Autowired private U
  • 为什么有些资源有名称和“名称”属性?

    我是 Terraform 的新手 正在尝试在 Azure 上创建一些资源 对我来说 资源名称和属性之间似乎存在一些不必要的重复name在定义中 resource azurerm resource group group name name
  • 如何将 ${CHANGES} 传递给下游作业?

    我有上游工作轮询 SVN 进行更改 如果检测到更改 则开始构建 构建完成后 上游项目调用下游项目运行测试 我正在使用 触发参数化构建 我希望下游项目能够发送一封电子邮件 其中包含测试结果以及导致构建 测试的 SVN 更改 但问题是 如果我在
  • 关于虚函数的成本

    如果我在循环中调用虚拟函数 1000 次 我会承受 1000 次还是仅一次的 vtable 查找开销 编译器也许能够优化它 例如 以下内容 至少在概念上 很容易优化 Foo f new Foo for int i 0 i lt 1000 i
  • Android NDK Native方法未找到错误

    我正在尝试使用本机代码构建 android 应用程序 所以我想测试 ndk 是否成功运行 当我尝试运行我的第一个 hello world 项目时 日志猫说 01 21 23 30 06 780 E AndroidRuntime 939 FA
  • 打开受密码保护的 sqlite 数据库

    我创建了一个受密码保护的 sqlite 数据库 我希望能够查看数据库 以便在项目开发过程中检查是否正确插入了内容 我已经下载了 sqlite 数据库浏览器 但这似乎不允许您打开加密数据库 有没有一种方法可以打开数据库文件 感谢您的任何帮助
  • 存在哪些 CLR/.NET 字节码工具? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我非常了解用于操作 生成 反编译 JVM 字节码的 Java 工具 ASM cglib jad 等 CLR 字节码有哪些类似的工具 人们会为 CLR
  • 如何导入单个 Lodash 函数?

    使用 webpack 我正在尝试导入isEqual since lodash似乎正在进口一切 我尝试执行以下操作但没有成功 import isEqual from lodash import isEqual from lodash lang