問題タブ [gulp-4]
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 - Gulp 4 ウォッチは 1 回だけ実行されます
タイトルで述べたように、実行に問題がありますgulp.watch
。ファイルの最初の変更後にのみ監視を実行します.2番目、3番目などを変更すると、タスクは実行されません。
以下は私のものgulpfile.js
です:
そしていくつかのログ:
いくつかのプロジェクトで同様の構成を使用しましたが、問題なく、すべてが機能しました。
この情報が重要かどうかはわかりませんが、Ubuntu 14.04 を使用しています
node.js - Gulp 4 - エラー: 終了後に書き込みます
index.html
(のフル パス)の変更を監視すると、エラーが発生しますCONFIG.APP.INDEX
。私のタスクはすべて別のファイルにあります。これはtasks/watch.tsです。例:
最初の変更タスクでは正常に実行されますが、2 回目の変更では次のエラーが発生します。
tasks/inject.tsタスク:
util/inject/fixes.tsタスク
タスクは次のgulpfile.ts/index.ts
ようにロードされます。
エラーの原因は特定できましたが、原因や修正方法がわかりません。index.html
問題は、最初の変更とタスクの実行後に監視する場合にのみ発生します。実行中のタスクは手動で正常に動作し ( gulp inject
)、他のすべてのウォッチとタスクは正常に動作します。
gulp - ストリームを返しましたが、非同期完了エラーを通知します
なんで受かったのか理解不能
非同期完了の通知を忘れていませんか?
これが私のセットアップです:
スタックトレースによると、問題のある行は
watch
タスク内。タスクcompile-ts
は機能しており、完了を通知するのに十分なストリームを返します。しかし、とにかくエラーが発生するのはなぜですか?
これはgulp@4.0.0-alpha.2
。
編集:
watch
タスクを次のように変更します
もうエラーは発生しませんが、タスクは 4 ミリ秒以内に終了し、何もしません。パーツを削除するdone
と、同じエラーが再び発生します。
EDIT2:問題を特定できるように、タスクをさらに分割しました。
今watch-ts
、watch-assets
両方でそのエラーメッセージが表示されます。私が知る限り、どちらもストリームを返します。
javascript - gulp 4.0: 連続してタスクを実行する
Gulp 4.0 では一連のタスクを連続して実行しようとしていますが、3 番目のタスクを追加すると、gulp コードが壊れます。
ビルド フォルダーを削除して最初からやり直し、別のタスク (minfy-js) を追加しようとすると、3 番目のタスクが失敗し、ビルド フォルダーも作成されません。
gulp - gulp 4 でサブタスクを整理するにはどうすればよいですか?
gulp 4 を使用しているときにサブタスクに問題があります。gulp 3 では、タスクをいくつかのファイルに分割し、gulp-load-subtasksを使用してそれらをロードして実行します。gulp 4 を使用しているときに、タスクをロードしようとすると問題が発生しました。例:タスクbがロードされる前にタスク a (タスク b に依存)をロードできません。これをやろうとすると、エラーが発生しました。AssertionError: Task never defined: b
これは私のフォルダです:
gulpflie.babel.js
workflow/
common.js
task/
a.js
b.js
gulp 4 でサブタスクを整理するにはどうすればよいですか?
javascript - gulp.series() はタスクを実行しません
gulp.series()
コールバック関数で が起動しない理由がわかりません。
を使用してユーザー入力から文字列を取得しgulp-prompt
、ビルドおよびデプロイ関数を呼び出そうとしていgulp.series()
ます。内の私のタスクはまったく起動gulp.series()
しません。
javascript - この gulp-concat と lazypipe の組み合わせが gulp 4 を使用してエラーを引き起こしているのはどうですか?
Gulp 3 から 4 にアップグレードしていますが、次のエラーが発生します。
言っていることは理解できますが、なぜこのコードがトリガーされているのか理解できません。
エラーの有無にかかわらず、タスクは完了します (ファイルは連結され、dest に書き込まれます)。lazypipe を使用せずに同じコードを実行してもエラーは発生せず、lazypipe 内の連結を削除してもエラーは修正されます。
ストリームを作成するもの (merge-stream など) で全体をラップすると、問題が修正されます。gulp-concat と lazypipe の間の相互作用に関する何かが、ストリームが正しく返されないようになっていると思います。
(簡略化された)タスクは次のとおりです。
アドバイスをいただければ幸いです。
gulp - gulp 4で別のタスクからタスクを繰り返し起動する方法
最近 gulp 4 にアップグレードしましたが、エクスポート プロセスに関する長年の問題を解決しようとしています。
つまり、プロジェクトには 3 つ (またはそれ以上) の独立したフォルダーがあります。独立しているとは、それぞれが独自の bundle.js と global.css ファイルを持っていることを意味します。gulpfile に変数を設定しtarget
ました。これは、gulp が必要とするすべてのパスを作成するために使用されますtarget
。
プロジェクト全体をエクスポートしたい現在の状況target
では、gulpfile の変数を手動で変更してから、export
タスクを実行する必要があります。
次のように機能するものが必要です(other_folders
配列が変更される可能性があるため)
forEach
問題は、ループ内で gulp タスクを呼び出す方法が見つからないように見えることです。これを行う方法はありますか、それとも回避策が必要ですか?