問題タブ [fs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2272 参照

javascript - データ イベントが Node.js を起動しない

拡張子が node-ytdl の YouTube 動画をダウンロードするアプリケーションを作成しています。クライアントにダウンロードの進行状況インジケーターを送信したいので、それを計算するためのチャンク情報を取得しようとしています。私のコードは次のようになります。

奇妙なことに、ダウンロードが完了するたびに「閉じる」が発生しても、「データ」イベントからログが取得されません。ビデオは正しく書かれています。Node.jsストリームは初めてです。私は何か間違ったことをした?

0 投票する
1 に答える
2592 参照

javascript - Node.js: fs.createWriteStream() で開いたファイルが削除されたことを検出する

次の Node プログラムがあるとします。これは、"Ping!" を実行するマシンです。

毎秒、コンソールにメッセージを出力し、ログ ファイル (必要に応じて起動時に作成されます) に追加します。それはすべてうまくいきます。

しかし、プロセスの実行中にファイルを削除すると、machine.logファイルは引き続きうまく動作しますが、ファイルがなくなるため、書き込みは成功しなくなります。しかし、書き込みは黙って失敗しているように見えます。つまり、この状態を明示的に確認する必要があります。Stream ドキュメントを検索しましたが、この種のことが発生したときに発生する明白なイベントが見つからないようです。の戻り値write()も役に立ちません。

書き込んでいるファイルが削除されたことを検出して、ファイルを再度開いたり再作成したりするにはどうすればよいですか? 関連する場合、これはCentOSボックスです。

0 投票する
1 に答える
19149 参照

node.js - Chokidar (Node.js) はどれくらい効率的ですか?

サーバーには、ルート ディレクトリの下でアクセスされるすべてのファイルをキャッシュするキャッシュ エンジンがあります。Chokidar を使用してディレクトリ ツリー全体を (再帰的に) 監視し、ファイルの変更を確認し、それに応じてキャッシュを更新することを考えています。しかし、サブディレクトリに数十万のファイルが含まれているとどうなるか心配です.Chokidarはどれほど効率的でしょうか?

0 投票する
1 に答える
173 参照

node.js - nodejs fsは貪欲なようです

ディスクからファイルをストリーミングする小さなプログラムの経時的なメモリ使用量を表示する要点を設定しました。

rssas inとして割り当てられたメモリprocess.memoryUsage()がダウンすることはありません。他のプロジェクトから、別のファイル読み取りがそのメモリの一部を再利用できることを知っていますが、そのメモリは決して解放されません。

他のプロセスがメモリをめぐって競合している場合、OS は十分に使用されていないメモリを取得してスワップに書き込むことができることを知っていますが、これは一時的な修正にすぎません (正当な理由もなくマシンがスワップを使い果たす可能性があります)。 .

この「リーク」は JavaScript ヒープにはないため、このファイルをストリーミングしている方法とは関係ないと思いますが、確認が必要です。この記憶を解放するために私がすべきことはありますか?

0 投票する
1 に答える
15532 参照

javascript - fs と bluebird の約束

私は現在、nodejsでpromiseを使用する方法を学んでいます

そのため、私の最初の課題は、ディレクトリ内のファイルを一覧表示し、非同期関数を使用して両方のステップでそれぞれのコンテンツを取得することでした。私は次の解決策を思いつきましたが、これがこれを行うための最もエレガントな方法ではないと強く感じています。特に、非同期メソッドをプロミスに「変換」している最初の部分です。

次に、両方の promise をチェーンします。

上で書いたように、それは望ましい結果を返しますが、これにはもっとエレガントな方法があると確信しています。

0 投票する
1 に答える
1344 参照

javascript - Node jsを使用してディレクトリからファイル名を表示する

特定のディレクトリにファイル名を表示するための次のコードがあります

ここでは、for ループ条件の完了後にすべてのファイル名を配列に格納する方法を教えてください。

0 投票する
1 に答える
39975 参照

javascript - Node.js: メソッドが例外をスローした場合、console.log メッセージが表示されません...なぜですか?

Node.js では、例外をスローするメソッドがある場合、そのメソッドからの console.log ステートメントは起動しません。以下の単純なテスト ケースでは、readFileSync 呼び出しから例外をキャッチするか、防御する必要があることを認識しています。誰かが私にその行動を説明できるかどうか興味があります。

簡単なテストケース:

出力:

0 投票する
7 に答える
254039 参照

node.js - nodejsは絶対パスからファイル名を取得しますか?

絶対ファイルパスからファイル名を取得できる API がある場合は?

例えば"foo.txt"から"/var/www/foo.txt"

文字列操作で機能することは知っていますが、Javafullpath.replace(/.+\//, '') のように、より「正式な」方法でそれを実行できるかどうかを知りたいです。file.getName()

NodeJSは絶対パスからファイル名を取得しますか?