問題タブ [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.
node.js - ファイルが開いている/書き込まれている場合に Node.js をチェックインする方法は?
C++、C# などについては多くの回答が見つかりましたが、Node.js についてはまだ見つかりませんでした。これが私の場合です。
FTP サーバーでファイル/ディレクトリの変更 (新規または更新、削除されたファイルを気にしない) を監視するモジュールを作成しました。新しいファイルまたは既存のファイルが変更されたことに気付くと、通知を受け取り、このファイルを Sourceforge.net に同期するようにモジュール B に通知します。モジュールは正常に動作し、変更に即座に反応します。
しかし、私がまだ満足していないのは、新しいファイルが追加されると、そのファイルはファイルサイズに応じて「変更された」イベントを数回受け取るということです。サイズが大きいほど、より多くの「変更された」イベントを受け取ります。これは、ファイルがアップロードされている間、OS が定期的にアップロードされたバッファをファイル システムにフラッシュするため、複数の「変更された」fs.watch
イベントが発生するためです。
質問
ファイルがまだ開いているかどうかを確認して、ファイルが複数回変更されたためではなく、残りのデータがフラッシュされたために実際に「変更された」イベントが発生していることを確認して、無視できるようにするにはどうすればよいですか?」
ファイルが閉じられるか、書き込みが停止されると、モジュール B に通知して SF.net に同期することができます。
任意のアイデアをいただければ幸いです。ありがとう。
node.js - fs.exists が変数を受け入れない
ポスト リクエストを使用してバイナリを検索していますが、次のコードを正しく動作させることができません。fs.exists() は変数 b_path を受け入れませんが、ハードコードされた文字列を指定すると正しく機能します。b_path は期待どおりにコンソールに出力し、バイナリへのパスを正しく構築します。
なぜこれが起こるのですか?
node.js - node.jsのファイルをコピーする方法(変更された時間を含む)?
以下を使用して、node.jsのファイルをコピーできます。
問題は、通常のファイルコピーコマンドのように、変更された時間(mtime)もコピー/保持する方法です。
javascript - Node.jsでフォルダーを再帰的にコピーします
fs.readir
、、のシーケンスを手動で再帰的fs.readfile
に実行せずに、フォルダーとそのすべてのコンテンツをコピーする簡単な方法はありますか?fs.writefile
理想的には次のように機能する関数がないのではないかと思っています。
node.js - ファイルを非同期に並行して読み取る
私の node.js アプリケーションにはいくつかのファイルが必要です。ファイルを非同期で読み取ることが推奨されていることを理解しているので、明らかに次のようなことをしなければなりません:
ただし、この場合、ファイルは順次読み取られます。
多くのファイルを並行して読み取り、すべてのファイルがロードされた後にアプリケーションが起動することを確認する方法はありますか?
node.js - node.jsを使用してs3に保存された画像を保存しますか?
node.js を使用して s3 に画像を保存する画像サーバーを作成しようとしています。画像のアップロードは正常に機能し、s3ブラウザークライアントを使用して正しくダウンロードして表示できます(具体的にはdragondiskを使用していますが、他のものでも正常にダウンロードしました)が、ノードでダウンロードして試してみるとファイルをディスクに書き込むことができません (ファイルが破損しているか、Preview が認識しないファイル形式を使用している可能性があると表示されます)。ノードと fs に amazon sdk を使用してファイルを書き込みます。オプションのエンコーディングを fs.writeFile に渡すことができることは知っていますが、すべて試してみましたが、うまくいきません。また、putObject に ContentType を、getObject に ResponseContentType を、ContentEncoding と ResponseContentEncoding (およびこれらすべてをさまざまな組み合わせで) に設定しようとしました。同じ結果です。ここ'
ちなみに、私はルーティングに Express を使用しているので、req.params はそこから来ています。
node.js - Express セッションと fs モジュールの問題
fs.mkdir が実行されると常に、現在の Express のセッションがすべて失われます。fs.mkdir を実行して Express のすべてのセッションを維持する方法はありますか?
node.js - 特定の要件に対してnode-devを切り替えます
node-devなどを使用して特定のファイルに対してのみnodejsの再起動を切り替える方法はありますか?
私が調べたところ、require.extensionsは、再起動する拡張機能を保持するオブジェクトのようですが、削除しても何も起こらないようです。
私が欲しいのは、通常どおりnode-devを使用できるようにすることですが、再起動せずに特定のファイルが必要になるため、すべてを再起動せずに手動で監視して再ロードできます。
performance - とにかく、1回の呼び出しでnode.jsのファイル/ディレクトリのリストを取得するには
node.js (fs) では、 を使用してすべてのファイル + ディレクトリのリストを取得できます。これでfs.readdir()
、呼び出す必要があるファイル / ディレクトリを分離stat = fs.stat()
し、結果呼び出しstat.isDirectory()
またはstat.isFile()
返された値 (パス) ごとに取得できます。
これを行うためのより良い(パフォーマンスに優れた)方法はありますか?
file - Node.js:ファイルのリストをアップロードせずに、フォルダーが空かどうかを確認する方法
を使用してNode.js
います。
フォルダが空かどうかを確認したいですか? 1 つのオプションはfs.readdirを使用することですが、これは一連のファイル全体を配列にロードします。フォルダーに 10000 個を超えるファイルがあります。フォルダが空かどうかを確認するためだけにファイル名をロードしても意味がありません。そのため、代替ソリューションを探しています。