LoginSignup
0
0

More than 1 year has passed since last update.

[Javascript] File System fs.readFileSync() でfile not foundになった話

Posted at
function htmlfile_read(path){
    const fs = require("fs");
    var str = fs.readFileSync(path,"utf-8");
    return str;
}

fileを読み込んで出力するだけの関数を作ろうと思ったんだけど、path = "./index.html"にすると、このエラーが出る

htmlfile_read("ENOENT: no such file or directory, open './index.html'

path構成

project名
L index.html
L index.js <-ここから読もうとしてる

解決策

path = "project名"/index.html
にしたら治った

確認したこと

pathの有効性を確認

  1. path.jsの作成
    project名
    L index.html
    L index.js <-ここから読もうとしてる
    L path.js
  2. path.js 中身
const path = require("path");
console.log(path.basename("./index.html"));

これを実装して存在することを確認した。
ちなみに、デバッガからではなく、コンソールから node path.jsで動かしました。

File.jsの作成

project名
L index.html
L index.js
L path.js
L file.js <- こっから読み出してみた

file.jsの中身

var str_result = htmlfile_read("./index.html");
console.log(str_result);

function htmlfile_read(path){
const fs = require("fs");
var str = fs.readFileSync(path,"utf-8");
return str;
}

作りたいものだけ取り出して、(HTTPとかも書いていたので)起動したらこれもうまくいった
コンソールから、node file.jsで起動させてみた

index.js上でなんで動かなかったのか?

・・結局分からず。
だけど、コンソールで node index.jsしたら元々のまま("./index.html"指定)でもうまくいったので、もしかしたらパッケージファイルとかなんとかの話かもしれない。とりあえず解決した。これ以上はもう良い。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0