在打字稿中,如何从“lodash/merge”导入合并

Ron*_*Ron 3 javascript typescript

使用 es6,我可以从库中只导入一个函数来最小化整个包,例如:

import merge from "lodash/merge"

但是,在typescript中,上面这句话会导致编译错误:Cannot find module "lodash/merge"。如何解决?

Kev*_*lar 6

实际上,您可以使用'lodash.merge'库导入单个函数

import merge from 'lodash.merge'

const result: any = merge(obj1, obj2)
Run Code Online (Sandbox Code Playgroud)

您需要将此属性添加到 tsconfig.json 中"esModuleInterop": true ,否则它将无法工作

[引用] https://github.com/lodash/lodash/issues/3192#issuecomment-411963038


bas*_*rat 3

更新

现代的方法是使用单独的包。例如,merge您将安装并使用lodash.mergeie

import merge from 'lodash.merge'
Run Code Online (Sandbox Code Playgroud)

PS:确保"esModuleInterop": true您的tsconfig.jsonES 默认导入合并工作需要。

旧答案

找不到模块“lodash/merge”。如何解决

TypeScript 的定义不支持单独加载 lodash 成员。所以你只能import * as _ from "lodash"