問題タブ [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.
npm - この gulp スクリプトの動作が v4.0.0-alpha.2 と v4.0.2 で異なるのはなぜですか?
このスクリプトは gulp 4.0.0-alpha.2 を使用していますが、このスクリプトはもともと 3.x 用に作成されたものではないかと思います。
次のタスクが存在する、継承した gulp スクリプトがあります。
(渡された値は.src
、.dest
もともと他の場所から取得されたものですが、それらを変更するコードはないようです)
app\images
フォルダーには、複数のicons
ファイルを含むサブフォルダーが含まれています。gulp スクリプトの結果は次のとおりです。
- では、これら
4.0.0-alpha.2
のファイルは次の場所に配置されます.dev\images\icons
- では、これら
4.0.2
のファイルのペースが調整されます.dev\images\app\images\icons
以前はグロブからの相対パスのみだったのに対し、現在は 2 つのフル パスが連結されているようです (つまり、app\images\**\*.*
見つかっapp\images\icons\icon1.png
たときに が返されicons\icon1.png
ます)。
base
呼び出し時にオプションに渡すと、src
これが解決されるようです。
これは、異なるベースパスを持つパスの配列が渡されるケースを解決しません。例えば:
また、 のすべての呼び出しを更新する必要がない、より一般的なソリューションが利用可能であるように思われるsrc
ので....
宛先への書き込み時にグロブのみ、またはファイルの名前が使用される Gulp 4.0 を使用して同じ動作を取得するにはどうすればよいですか?
最小限の再現gulpfile.js
:
そしてpackage.json
:
app\images\android
との下にファイルがありますapp\images\apple
(それぞれに 2 つ)
gulp@4.0.0-alpha.2
(予想/望ましい) の結果:
- .dev\images\android\1.png
- .dev\images\android\2.png
- .dev\images\apple\1.png
- .dev\images\apple\2.png
結果gulp@v4.0.2
(予期しない):
- .dev\images\app\images\android\1.png
- .dev\images\app\images\android\2.png
- .dev\images\app\images\apple\1.png
- .dev\images\app\images\apple\2.png
gulp - gulp-4 に browser-sync を追加する方法
//変数へのgulpファイルのインポート
// プロジェクト フォルダー内のファイル パス変数
//Sass タスク
//JsTask
//WatchTask
//DefaultTask //gulp-4 で browser-sync を使用する方法がわかりません
javascript - Gulp.js を使用して単一の JS ファイル内の複数の CommonJS モジュールを結合するにはどうすればよいですか?
私はさまざまな実装に Gulp.js を使用してきました。そのうちのいくつかは、単一の JavaScript ソース ファイルのプレーンで単純な縮小のみであり、いくつかは複数のファイルの縮小とコピーであり、他のものは browserify を使用して結合していました。相互に依存する複数のファイルを 1 つの縮小されたファイルに変換します (オプションで、変換のために間に Babel を使用するなど)。
しかし最近、私の実装ではカバーしたことがない (私にとって) ユニークなシナリオに出くわしました: 複数の CommonJS モジュール ファイルを 1 つの縮小されたビルド ファイルに連結することです。
次の例を検討してください。
次の内容で名前が付けられた共通ファイルがありますcommon.js
-
そして、index.js
このファイルが公開する関数の1つを使用する別のもの(たとえば)があります-
index.js
エントリとして提供するときに両方のファイルを連結する方法はありますか? ES6 モジュールや AMD の場合でも、browserify を使用できたはずです。まだ試したわけではありませんが、ブラウザーで決して実行されないものに使用するのは奇妙に思えます。
どんな助けでも大歓迎です。