我正在尝试使用节点js'fs'模块从本地系统读取文件。但由于某种原因,当我传递绝对路径时,'fs'模块无效。
代码:
let filePath = "/home/mysystem/dev/myproject/sayHello.txt";
let newFile=fs.readFileSync('file://'+filePath);
代码抛出错误:
Uncaught Error: ENOENT: no such file or directory, open 'file:///home/mysystem/dev/myproject/sayHello.txt'
但我可以使用相同的路径从浏览器窗口打开文件。 如果我传递相对路径,fs模块正在工作。我在使用电子框架构建的应用程序中使用它。
答案 0 :(得分:3)
在NodeJS中,您不必使用file
协议来读取文件。
您可以摆脱"file://"
部分并尝试直接阅读filePath
let filePath = "/home/mysystem/dev/myproject/sayHello.txt";
let newFile = fs.readFileSync(filePath);
答案 1 :(得分:1)
我对此感到难过。如果在Windows上使用Angular 2和Typescript,则绝对路径将如下所示:
import { readdirSync } from "fs";
. . .
let x = readdirSync("C:/SAFE/Dir1/Blah");
console.log("files retrieved="+ x.length);