問題タブ [gulp-newer]
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.
gulp - gulp-rev で gulp-newer を動作させる方法は?
セットアップは次のように簡単です。
宛先ファイルが別の名前になるため、gulp-newer は明らかにここでは機能しません。この場合、gulp-newer (または gulp-changed) を機能させるための回避策はありますか?
gulp - gulp-changed および/または gulp-newer およびアップロード タスクを使用した時折の Gulpfile フリークアウト
私はいくつかの非常に標準的なタスクを実行する素敵な小さなビルド スクリプトを作成しました...
deploy/
最初の前にディレクトリをクリーンアップするdev/
ディレクトリから関連deploy/
ディレクトリへのファイルの構築、連結、醜化、およびコピー- 変化の監視
- 等
しかし、より良い文脈のために、以下にそれを含めました:
私が直面している問題は、upload
タスクとcopy
タスクに直接関係しています。
実行中gulp --env [environment-name]
(例: gulp --env staging
) または だけgulp --env
で、 のサブディレクトリの 1 つにあるファイルを保存すると dev/liquid/
、copy
タスクが期待どおりに実行され、保存およびコピーされた単数形のファイルが 経由でアップロードされます。upload
タスク。ただし、ときどきファイルを保存すると、copy
タスクは通常どおり実行されますが、時計が異常になり、upload
内部のすべてのファイルをアップロードしようとしますdeploy/
(これにより、API 呼び出し制限エラーが発生し、当然問題が発生します)。
私はもともとgulp-changed
自分のタスク内で使用していましcopy
たが、ディレクトリではなく 1:1 マッピングのみを行うことに気付きました (これがどれほど正しいかわかりません)。に切り替えたところgulp-newer
、しばらくはうまくいきましたが、その後、再びおかしくなり始めました。
何が原因なのかわかりません。疑念はありますが、どう対処すればよいかわかりません。アドバイス、観察、改善の提案、ロマンチックなディナーに適した場所、信頼できるペットシッターなど、大歓迎です。
ティティティティ!!!
_t
編集:フリークアウト(つまり、すべてのファイルが一度にアップロードしようとする)を再現するのに苦労しており、同じことを実行するとgulp --env staging
フリークアウトが発生することもあれば、同じファイルセットで同じタスクを起動すると発生することもありますなし。たぶん、gulp-newer と gulp-changed の比較として変更された日付の使用と関係があるのでしょうか??
ダブルエディット:多分それは時々それが動作し、時には動作しない原因の競合状態ですか?node-glob または minimatch github ページで競合状態について何かを見たのを覚えています....
gulp - 依存関係の Gulp パイプを取得する
いくつかのタスクを含む gulpfile があります。すべてのタスクは、他のすべてのタスクに依存する既定のタスクに結合されます。展開タスクを追加したい。デプロイはファイルのリストを取ることができます。変更したファイルのみをデプロイしたい。
すべての依存関係のパイプを取得する方法はありますか? または、すべてを 1 つのタスクにマージせずに、他の方法を使用しますか?
説明する簡単なサンプルを次に示します。
アップデート:
ここに私の仕事のいくつかがあります:
gulp - gulp-changed / gulp-newer + gulp-rename が機能しない
すでに処理された画像の縮小、サイズ変更、名前変更を回避しようとしましたが、「gulp-changed」を追加しても何も変わりませんでした。すべてのファイルが毎回処理されます。代わりに「gulp-newer」を試しましたが、まだ運がありません。
後になって、gulp-rename を惜しまなければ、gulp-changed が正常に動作することがわかりました。タスクに gulp-rename を使用すると、そうではありません。しかし、とにかくgulp-renameが必要です...
gulp - gulp: パイプで変更されたファイルのみを渡す
ファイルを並べ替え、一部のテキストを置き換えて、変更されたものだけを保存しようとします。私の現在のコードgulp-changed
では何もしません。
更新:gulp-cached
私はこれを自分でほとんど解決しましたが、以下の私の回答に関連する小さな問題があります。
javascript - ストリームがパイプを通過し続けたか、代わりにパイプで終了したかを通知する - ノード - ガルプ - JS
更新 - これを掘り下げるほど...ノードと関係があると思います。
node-notifierを含むgulp- newerとgulp-notifyを使用しています。新しいファイルを生成しないタスクを実行すると、変更が表示されず、タスクから飛び出すためです。一言お願いします。今は、予告なく終了するだけです。newer
notification
Done - no new files
クイックコード例:
これが私が試したコードの例です -
問題は、新しいものが常に終了することです。ストリームが終了するか継続するかを知る必要があると思います。
gulp - gulp-newer の使い方
私はgulpが初めてで、https://www.npmjs.com/package/gulp-newerのドキュメントに従って、その仕組みを理解しようとしました。ただし、以下のタスクでは期待どおりに機能しません。明らかな何かが欠けていると思います。
フォルダ構成はこちら
一時フォルダーと新しいフォルダーを比較したいのですが、新しいフォルダー (以前は一時に存在しなかった) に新しいファイルがある場合は、それらのファイルを移動してフォルダーを変更します。これは、gulp-newer がどのように機能するかを理解しようとしている私です。私はそれを正しくやっていますか?
ただし、このタスクを実行すると、一時フォルダー内のすべてのファイルがコピーされ、フォルダーが変更されます。したがって、タスク実行後の変更フォルダーには、file1.js と file2.js があります。file3.js だけが変更に存在することを期待しています (それは新しいファイルであるため)。アプローチに関する私の理解が間違っている場合は修正してください。
gulp - Gulp - 新しいバンドルが作成されたときに古いバンドルを削除する
私はgulpが初めてで、かなり単純に見えるビルドプロセスを作成するのに苦労していますが、それをクラックすることはできません.
私が達成したいのは、すべてのjsファイルとcssファイルをバンドルしてバンドルして、all_*.min.js where *
現在のタイムスタンプと同じように名前を付け、古いall_*.min.js
バンドルを削除することです。
私のもう1つの課題は、バンドルのファイルの1つが監視なしで変更されたときにバンドルの変更を検出する方法です。要するに、これが私が達成したいことです。どんな提案でも大いに役立ちます。
前もって感謝します。