从节点fs模块中的绝对路径读取本地文件

时间:2016-08-01 11:49:54

标签: javascript node.js npm electron fs

我正在尝试使用节点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模块正在工作。我在使用电子框架构建的应用程序中使用它。

2 个答案:

答案 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);