网站搜索

typescript - 找不到模块 "lodash",但它可以正常工作


我正在尝试将 lodash 导入到使用 Webpack 构建的 Angular2 和 TypeScript 的文件中。我总是会收到错误 Cannot find module 'lodash' 或 Cannot find module 'lodash/submodule'。然而,代码仍然可以正常工作,实际上,如果我不进行 import,代码就无法正常工作。

import * as lodash from "lodash";
export class SomeService {
  fn(): any {
    return lodash.range(1, 2);
  }
}

这可以正常工作,但我仍然收到找不到模块错误。我也尝试过import lodash from "lodash"、import {range} from "lodash"以及import * as range from "lodash/range"等几种方式,但无论如何,我总是会收到这个错误。

我已经执行了 yarn add lodash 和 typings install lodash。node_modules/lodash 存在,并且 node_modules/lodash/range.js 也存在。事实上,import * as moment from "moment" 似乎运行正常。

有没有办法让 TypeScript 不再把这个报为错误?

答案#1

你应该通过以下命令安装 @types/lodash 包: npm install --save @types/lodash