如何使用 TypeScript 在 VS Code 中找到模块“fs”?

新手上路,请多包涵

我在 MacBook Air 上运行。我将 VS Code 安装为 IDE,还安装了 TypeScript。

我有一个简单的文件,只有这一行:

 import fs = require('fs');

我在括号内的“fs”下得到一个红色波浪线,错误消息是 [ts] Cannot find module 'fs'. 该文件具有 .ts 扩展名。我是 JavaScript 和 TypeScript 的新手,但我的印象是 fs 是一个核心模块,所以怎么找不到呢?我该如何解决这个问题?

我已经尝试过的其他事情:

  • 将一个简单的函数体放入文件中,然后在命令行上使用 tsc 进行编译。我在那里得到一个基本相同的错误: error TS2307: Cannot find module 'fs'.
  • 在命令行 sudo npm install fs -g 。这报告了明显的成功,但并没有解决问题。

我浏览了 SE 和网络,但似乎很接近的答案似乎都假设“fs”是可用的。

原文由 Brick 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.1k
2 个回答

您需要包含节点的定义文件。

打字稿 2.0+

使用 npm 安装:

 npm install --save-dev @types/node

打字稿 < 2.0

如果你使用 打字,那么你可以运行这个命令:

 typings install dt~node --global --save

或者,如果您使用类型 < 1.0 运行:

 typings install node --ambient --save

或者,如果所有其他方法都失败了,请在 此处 手动下载文件并将其包含在您的项目中。

原文由 David Sherret 发布,翻译遵循 CC BY-SA 3.0 许可协议

您在 tsconfig.json (此处:节点 11+)中有三个选项,请参阅 文档

要么同时 指定 typeRootstypes ,要么只指定 typeRoots 或完全 删除 这两行(推荐):

 {"compilerOptions": {
  ...
  "typeRoots": ["node_modules/@types"],  // "typeRoots": [] -> won't work
  "types": ["node"]                      // "types": [] -> won't work
}}

安装类型:

 npm install --save-dev @types/node

使用基于 promise 的文件系统(例如使用 async / await):

 import {promises as fs} from 'fs';

async function foo() {
    ...
    await fs.writeFile('./yourPath', 'YourContent');
}

原文由 User Rebo 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题