問題タブ [chokidar]
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 でのクロスプラットフォーム開発のパスでは、常にバックスラッシュをスラッシュに置き換える必要がありますか?
一度、chokidarウォッチャー (にラップgulp.watch()
) が機能しなくなりました。実験とデバッグの後、原因はグロブ内の二重のバックスラッシュであることがわかりました:
(もちろん、上記のグロブに手動で絶対パスを記述することはありません。プログラムで生成します。)
UNIX ベースのオペレーティング システムの経験はほとんどありませんが、コードがクロスプラットフォームで動作することを望んでいます。以下のコードが Windows、Linux、および Mac OS のそれぞれで機能する場合、Node.js プログラムで常にバックスラッシュをスラッシュに変換する必要があると思います。これが最も安全な方法です。私の仮定は正しいですか?
path.normalize()
また、次のようなソリューションが常に望ましい結果をもたらすとは限らないこともわかりました。パスでのみスラッシュを保証する唯一の保存.replace(/\\/g, '/')
方法ですか?
更新: 新しい実験結果
以下のものはどれも機能しません:
しかし
動作します。
javascript - TypeError: watcher.on(...) は関数ではありません
以下のコードを実行すると、このエラーが発生します。コードの何が問題なのかわかりませんか?
TypeError: watcher.on(...) は関数ではありません