Module not found: Error: Can't resolve 'lodash-es'

Module not found: Error: Can't resolve 'lodash-es'

在我的 Angular 8 TypeScript 代码中,我直接导入了 lodash(例如 import * as _ from 'lodash';)。在我的 package.json 我有 "lodash": "^4.17.15".

我决定安装 @types/lodash-es 模块并以这种方式导入特定的 lodash 函数(例如 import { map } from 'lodash-es';)。它更好,因为它节省 运行 时间 space 并且还使用标准 Angular/TypeScript 导入机制。

但是,现在当我 运行 构建时,我收到了这个错误:

Module not found: Error: Can't resolve 'lodash-es'

我该如何解决这个错误?

除了安装@types/lodash-es模块外,现有的"lodash": "^4.17.15"模块需要替换为"lodash-es": "^4.17.15"

这是因为 @types/lodash-es 需要 lodash-es 而不是 lodash。一旦你知道,这是显而易见的,但我最初错过了它。

试试这个

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

如果在此之后您将遇到同样的问题,请检查您在 dependencies

中的 package.json

"lodash-es": "^4.17.20"

如果没有,只需在 cmd 中编写 运行 npm install 即可。 这对我有用。

您可以通过 npm update 更新您的 node__modules。它已经消除了我的案例的错误。