問題タブ [gulp-cached]
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-remember が間違ったパスを出力するようです
[gulp 3.9.0、gulp-cached 1.1.0、gulp-remember 0.3.0、gulp-rename 1.2.2 を使用]
ビルド ツールとして gulp を使用し、gulp-remember と一緒に gulp-cached を使用して、高速なインクリメンタル リビルドを可能にします。ビルド中のファイルの一部は、別の出力ディレクトリに移動する必要があります。これは、後で結果を圧縮するため、ストリーム内 (つまり、gulp.dest() 内ではない) で行う必要があります。これには gulp-rename を使用します。
ただし、ビルド スクリプトが複数回呼び出されると (インクリメンタル リビルドの場合は gulp.watch())、gulp-rename 変換が複数回適用されるようです。gulp-remember は、実際にはファイルを前回見たパスではなく、gulp-rename ステップの後に取得したパスで出力しているようです。
問題を次のスクリプトに絞り込みました。
これをソース ディレクトリ src で 1 つのファイル "myfile.js" だけで実行すると、出力ファイルが生成されます。
build() の 2 番目の呼び出しを削除すると、正しく生成されます
そして、build() への 3 番目の呼び出しを挿入すると、生成されます。
どうすればこれを修正できますか? gulp-remember は、ファイルがさらに処理される前に、最後に通過したときのパスでファイルを出力するべきではありませんか?
gulp - gulp: パイプで変更されたファイルのみを渡す
ファイルを並べ替え、一部のテキストを置き換えて、変更されたものだけを保存しようとします。私の現在のコードgulp-changed
では何もしません。
更新:gulp-cached
私はこれを自分でほとんど解決しましたが、以下の私の回答に関連する小さな問題があります。