[解決済み] fs.readFileSyncがファイル相対化されていない?ノードジッ
2022-04-26 09:50:06
質問
-というファイルがプロジェクトのルートにあるとします。
file.xml
.
-tests/に"test.js"というテストファイルがあり、そのファイルには
const file = fs.readFileSync("../file.xml");
今、私が実行すると
node ./tests/test.js
私のプロジェクトのルートから、次のようになります。
../file.xml
は存在しない。testsディレクトリの中から同じコマンドを実行すると、うまくいくのです。
と思われます。
fs.readFileSync
は、スクリプトが実際にある場所ではなく、スクリプトが呼び出されるディレクトリからの相対パスです。もし私が
fs.readFileSync("./file.xml")
で
test.js
の相対パスと整合性がなく、より混乱しそうです。
require
文はファイルからの相対パスです。
これはなぜでしょうか?のパスを書き換える必要がないようにするにはどうしたらよいでしょうか?
fs.readFileSync
?
解決方法は?
カレントディレクトリではなく、ソースファイルの位置への相対パスを解決するには、次のようにします。
path.resolve
:
const path = require("path");
const file = fs.readFileSync(path.resolve(__dirname, "../file.xml"));
関連
-
[解決済み] ノードマータ予期せぬフィールド
-
[解決済み] Jestを使用して1つのファイルをテストするにはどうすればよいですか?
-
[解決済み] Node.jsのプログラムにコマンドライン引数を渡すにはどうしたらいいですか?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Node.jsで終了する方法
-
[解決済み] Node.jsでファイルを書き込む
-
[解決済み] Node.jsアプリケーションをデバッグするにはどうすればよいですか?
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] Node.jsでファイル/ディレクトリが存在するかどうかを同期的にチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「安全なTLS接続が確立される前にクライアントのネットワークソケットが切断されました」(ノード10
-
[解決済み】"npm update -g" の後に "Cannot find module 'npmlog'" というエラーが発生する。
-
[解決済み】モジュール '@babel/core' が見つかりません。
-
[解決済み】「npm install」と「npm rebuild」の違いとは?
-
[解決済み] Expectアサーションの型エラー -> expect(...).toExistは関数ではない
-
[解決済み] TypeError: コールバックはnodejsの関数ではありません。
-
[解決済み] nodejs - http.requestでresponse.writeを使用する場合、第一引数は文字列またはBufferでなければなりません。
-
[解決済み] エラーメッセージ MongoError: bad auth URI 文字列で認証に失敗しました。
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み] Macでポート3000をロックしているプロセスを見つける(そして殺す)【終了