我尝试要求 nodejs fs 模块并不断收到以下错误,请问我该怎么做?

I tried requiring nodejs fs module and keep getting the error below, how do I go about it please?

这是我的代码:

var fs= require('fs');
 var readMe = fs.readFileSync('readMe.txt', 'utf-8');     // method to read file in node..note the  'sync' maintains strict order of code
console.log('readMe.txt');

但是,当我 运行 它时,我得到这个错误:

C:\visual studio code\nodeJS>node "c:\visual studio code\nodeJS\netNinja\app.js"internal/fs/utils.js:308
    throw err;
    ^

Error: ENOENT: no such file or directory, open 'readMe.txt'
?[90m    at Object.openSync (fs.js:476:3)?[39m
?[90m    at Object.readFileSync (fs.js:377:35)?[39m
    at Object.<anonymous> (c:\visual studio code\nodeJS\netNinja\app.js:105:20)
?[90m    at Module._compile (internal/modules/cjs/loader.js:1063:30)?[39m
?[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)?[39m
?[90m    at Module.load (internal/modules/cjs/loader.js:928:32)?[39m
?[90m    at Function.Module._load (internal/modules/cjs/loader.js:769:14)?[39m
?[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)?[39m
?[90m    at internal/main/run_main_module.js:17:47?[39m {
  errno: ?[33m-4058?[39m,
  syscall: ?[32m'open'?[39m,
  code: ?[32m'ENOENT'?[39m,
  path: ?[32m'readMe.txt'?[39m
}

错误本身非常具体。 ENOENT 表示在当前工作目录中找不到文件 readMe.txt,因此 fs.readFileSync() 抛出异常。

因此,要么该文件根本不存在,要么不在当前工作目录中(因此您需要它的路径),或者存在某种权限问题使其不可见(最后一个不太可能是问题)。

如果你想查看nodejs在哪里寻找一个没有路径的文件,你可以这样做:

console.log(process.cwd());

这将向您显示 nodejs 应用程序中的当前工作目录。

或者,您可以执行此操作以查看它在何处寻找您的文件:

const path = require('path');
console.log(path.resolve("readMe.txt"));