問題タブ [watchify]
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.
javascript - Watchify がソース マップを正しく処理していない
Browserify を使用して、すべての Javascript アセットをバンドルしています。ただし、Browserify は、アプリが複雑になるにつれてビルドが非常に遅くなるため、Watchify に切り替えました。これで問題は解決しました。
しかし、これにより新たな問題が発生しました。この間、デバッグ用にソース マップを出力し、出力も Minifyify で縮小しています。Watchify を最初に実行すると、これは正常に機能し、ソース マップは元のファイルに正しくマップされます。ただし、ファイルを変更すると、ソース マップは元のファイルの縮小されていないバージョンではなく、縮小されたバージョンを指すことになります。
これは、Watchify が入力ソース マップを取り込んでから変更していないためだと推測していますが、確かではありません。
これが私のコードです:
ここで何がうまくいかないのですか?Watchify が 2 回目のランスルーで既存のソース マップを考慮していないということですか、それとも別のことですか? いずれにせよ、Watchify を介した 2 回目以降の実行で、ソース マップが縮小されていないバンドルされていないアセットに正しくリンクするようにするにはどうすればよいでしょうか?
node.js - Gulp: 決して終了しないタスクをパイプ処理するにはどうすればよいですか?
watchify
ファイルをパイプできるようにするためのgulpプラグインを作成しようとしています。問題は、私のタスクが実際に「終了」しないことです。タスクはそこに座って、一連のファイルを監視し、必要に応じて再構築するためです。
では、このプラグインを「介して」コードを送信するにはどうすればよいでしょうか?
現在、プラグインを呼び出す私のタスクは次のように単純化されています。
私watchifyPlugin
は:
.js
これで、グロブが最初に見つけたファイルで問題なく動作します。ただし、他のファイルが実際にプラグインに到達することはありませんcb()
。
では、これを行うにはどうすればよいですか?を呼び出さずにストリームへの書き込みを続ける方法はありますか?これにより、ストリームcb()
が閉じられますが、前のパイプを続行できますか?
言い換えると:
- index.js
watchify()
- 何度
dest()
も呼び出しても問題なくパイプしますself.push()
cb()
呼んだことない
- index2.js
watchify()
が呼び出されるまで決して呼び出されませんcb()
が、これによりパイプindex.js
が「閉じられます」index.js
javascript - ストリーム ノードの結合
この関数からの戻り値はストリームである必要があります。時計なしモードでは簡単です。rebundle を返すだけで、browserify ストリームが変換されます。ただし、監視モードでは、更新ごとに再バンドルが実行され、毎回新しいストリームが作成されます。これらのすべてのストリームを 1 つのエンドレス ストリームに統合する方法が必要です。これらのストリームは、返すことができ、実際に後で消費することができます。結合ストリームで遊んでいると、データが読み取られるとストリームが書き込み可能でなくなるように見えるので、それは無理です。どんな助けでも大歓迎です!
coffeescript - 閲覧、監視、ファイルの移動
私のチームと私は、アプリケーションの開発中に watchify で browserify を使用しようとすると、同じ問題を経験し続けます。
本質的にここに問題があります。次のファイル構造があるとします。
app.coffee
次のコードがあります。
これは私たちにとって非常にうまく機能し、watchify を使用するようになった今、ビルドがどれだけ速く実行されるかにとても満足しています。
ただし、プロジェクト構造を少し変更するとしましょう。
しかし、の内容はapp.coffee
変わらないので、まだ次のことを行っています:
さて、問題は、Watchify と Browserify のどちらにも問題があるようには見えないことです。これは、何らかのキャッシングが行われていることが原因であると思われます。
ただし、そのコードがレポにプッシュされ、別のチーム メンバーがそれをプルダウンするとすぐに、Browserify はすぐに./required_file
、require ステートメントが正しくないため、もう見つからないと文句を言います../folder2/required_file
。
なぜこれが起こるのか、そして今後それが起こらないようにするにはどうすればよいのか、誰か説明してもらえますか?
coffeescript - Browserify が必要なファイルを監視していない
最近 gulpfile を書き直しましたが、保存時にメインの .coffee ファイルがバンドルされることを除いて、以前よりも良くはないにしても、すべてが非常にうまく機能していますが、必要なファイルのいずれもバンドルをトリガーせず、理由がわかりません。ここに私のファイルがあります:
設定ファイル --
browserify ファイル --
app.coffee を保存すると、すべてが正常にバンドルされます。しかし、app.coffee に必要な .coffee ファイルを保存すると、app.coffee を再保存しない限りバンドルされません。次のようなディレクトリ構造で必要なカスタム ライブラリがいくつかあります。
グロビングを試みましたが、エラーが発生するだけで、他のほとんどは書き直す前と同じように設定されています。何か案は?