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



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

import merge from "lodash/merge"

但是,在typescript中,上面的句子会导致编译错误:找不到模块"lodash/merge"。如何解决?

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

import merge from 'lodash.merge'
const result: any = merge(obj1, obj2)

但是

您需要将此属性添加到tsconfig.json "esModuleInterop": true没有这个,它将无法工作

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

更新

实现这一点的现代方法是使用单独的包。例如,对于merge,您将安装并使用lodash.merge,即

import merge from 'lodash.merge'

PS:确保"esModuleInterop": true在您的tsconfig.json中,因为合并的ES默认导入需要它才能工作。

老答案

找不到模块";lodash/merge";。如何解决

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

最新更新