为什么 TypeScript 找不到安装在"node_modules"中的模块?



给定以下目录结构:

{project}/
  |-- node_modules/
  |    |-- lodash
  |-- src/
  |    |-- index.ts
  |-- lib/ (output)
  |    |-- index.js
  |    |-- index.d.ts
  |-- package.json
  |-- tsconfig.json

虽然内置的输出功能正常; tsc命令抱怨当我使用以下任何一项时,它无法解析 lodash 模块:

import _ from "lodash";
import _ = require("lodash");
import * as _ from "lodash";

在我的"tsconfig.json"文件中,我包含了以下内容:

...
"target": "es6",
"sourceMap": true,
"module": "commonjs",
"moduleResolution": "node",
...

但尽管如此,它仍然没有找到任何使用 npm 安装的模块。

我是否缺少使TypeScript找到这些模块所需的内容?

我意识到没有TypeScript定义文件TypeScript无法提供额外的类型检查;但是,这些应该默认为any类型吗?

由于 lodash 在 node_modules/lodash 文件夹中没有定义文件,因此无法正常工作。您必须使用键入或使用环境声明而不是导入来下载它:

declare var _: any;

对于节点.js您必须使用:

var _ = require('lodash');

相关内容

  • 没有找到相关文章

最新更新