問題タブ [gulp]
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.
node.js - 順次タスクのチェーン
処理したい 3 つのタスクがあり、これらの 3 つのタスクが完了したら、次のことを行います。
- 3 つのファイルを連結する
- 醜くする
- ディスクに書き込みます
これGrunt
には長いプロセスがありました。これが私が試したものですGulp
これは機能しますが、3つの中間ファイルを書き出してから連結するのではなく、出力をストリーミングしたいだけです。
だから私はそれから試しました:
それで、私は次のbuild
ようになります:
これは機能しません。
だから私は試しましたQ
:
これは機能すると思いますが、のコールバックにデータがありませんthen
。
道に迷いました。これを達成するための最良の方法は何ですか?
node.js - gulp-buster は決して「完了」しません
私はnodejs
gulp
自分のファイルを処理して最小化するために使用しています。less
また、使用しているキャッシュ無効化のために を使用していますが、パイプgulp-buster
を追加しているときにタスクが終了しません。gulp-buster
これは私の(の一部)Gulpfile.js
です:
そのタスクを実行すると、次の応答が返されます。
そして、私.pipe(watch(function(...
がこれなしでタスクを実行すると:
で終わっていないのはなぜgulp-buster
ですか?私は何を間違っていますか?
javascript - Gulp でスクリプトを順番に連結する
たとえば、Backbone などでプロジェクトをビルドしていて、特定の順序でスクリプトをロードする必要があるとします。たとえば、 のunderscore.js
前にロードする必要がありますbackbone.js
。
スクリプトを連結して順番に並べるにはどうすればよいですか?
my にはスクリプトの正しい順序がありsource/index.html
ますが、ファイルはアルファベット順に整理されているため、gulp はのunderscore.js
後backbone.js
に連結し、my 内のスクリプトの順序はsource/index.html
関係なく、ディレクトリ内のファイルを調べます。
それで、誰かがこれについて考えを持っていますか?
私が持っている最善のアイデアは、ベンダー スクリプトの名前を , , に変更1
し2
て3
適切な順序にすることですが、これが気に入るかどうかはわかりません。
詳細を学ぶにつれて、Browserify が優れたソリューションであることがわかりました。最初は面倒かもしれませんが、素晴らしいです。
gulp - Gulp-less で Gulp を起動すると、フォルダ構造が維持されます
私は今日、少ないファイルなどをコンパイルするために gulp.js を調べ始めました。
タスクで起動して実行しましたが、コンパイルされたファイルはすべて同じフォルダーに配置され、ソース階層は維持されません。
出力が元のファイル構造を維持していることを確認する方法はありますか?
私はgulpが初めてなので、これを正しく行っていない可能性があります。
これが私のgulpファイルです(Lessに関連する部分):
ソース テーマ フォルダの Less ファイルを宛先テーマ フォルダに置きたいと思います。不足しているオプションは何ですか?
これらを個別のタスクとして実行する必要がありますか?
ありがとう
更新: 提案された投稿を見て、パスを次のように変更しました。
また、ディレクトリ変数を次のように変更しました。
themes
しかし、それは私が期待しているフォルダを生成しません。
ios - LiveReload は iOS のリロードに失敗しますが、すべて同じ WiFi 上の別のコンピューターで動作します
Web サイトを開発するときにブラウザをリロードするために、Gulp (および Web サーバーとして MAMP) を介してLiveReloadを使用しています。Gulp を使用して LiveReload サーバーを起動し、LiveReload js ファイルへの参照を挿入します。
192.168.1.102 は、現在の WiFi のローカル IP です。
これは私のローカル マシンで完全に機能し、Safari と Chrome の両方をリロードします。
ローカル Web サーバーをホスト ファイルに追加したのと同じネットワーク上に Ubuntu マシンもあります192.168.1.102 my.project.dev
。これも完全に機能します。
しかし、iOS デバイスでブラウザを自動的に更新したいとも考えています。現在、Safari を搭載した iPhone を使用しています。iPhone でホスト ファイルを編集できないため、 SquidManを使用してローカル マシンにプロキシを設定しました。プロキシを iPhone ネットワーク構成に追加した後、自分のmy.project.dev
サイトに問題なくアクセスできます。しかし、ここに問題があります。iPhone では LiveReload が起動しません。http://192.168.1.102:35729/livereload.js
URLから直接アクセスしようとすると、iPhoneにアクセスできます。
ここで何が欠けていますか?iPhone が他のデバイスのようにリフレッシュされないのはなぜですか? 何か怪しいことをしているのはプロキシでしょうか?
coffeescript - gulp タスクのコールバックに引数を渡すにはどうすればよいですか?
ウォッチとビルドの 2 つのタスクを作成しようとしています。.coffee
監視タスクは、ファイルを JavaScript にコンパイルする「コーヒー」タスクを呼び出します。ビルド タスクは基本的に同じことを行う必要がありますが、ソース マップを含むコードをコンパイルできるように、ブール値を関数に解析する必要があります。
誰かが私の問題の解決策を持っていますか? 私は原則として間違ったことをしていますか?前もって感謝します。
node.js - gulp タスクを使用してローカル ファイルを解凍する方法
gulp タスクを使用して JAR ファイル (zip) を抽出する方法を探していますが、ストリームと unzip.Extract() の接続について頭を悩ませることはできません。
これが私が現在持っているGulpタスクです。エラーは発生せず、実際に JAR を抽出しません。
助けてくれてありがとう。
編集:私が使用している解凍プラグインがhttps://www.npmjs.org/package/unzipであり、次のインポートがあることを忘れていました。
これはおそらく必要ではありませんが、これを行う「正しい」方法がわかりません。
javascript - gulpを使用してbootstrap.lessファイルをメインのbootstrap.cssにコンパイルしますか?
私は gulpjs が本当に好きで、それは私の選択したタスク マネージャーでしたが、数か月前にタスク マネージャーについて知っていて、主にサポートのために gruntjs に参加したかったのです。gulpjs の場合、特定の事柄に関する情報を見つけるのは困難です。
私の質問は、gulpfile.js
特に .bootstrap.less ファイルを編集できるように設定する方法ですvariables.less
。「 gulp-less 」をインストールし、以下のように実装しました。
を実行した後、以下のエラーが発生しますgulp less
。
events.js:72
throw er; // Unhandled 'error' event
^
Error: EEXIST, mkdir 'C:\wamp\www\myproj\source\css\bootstrap.css'
私は sass タスク コードが適切にセットアップされているとは思わない。私が達成したいことのコードをカットします。
編集: Googleでこれに適したキーワードをいくつか見つけています。これに関する最近の投稿をいくつか見つけました。ここに1つがあります。Gulpを使用せずにGulpを開始すると、フォルダ構造を維持するため、読む必要がある良い答えがあるようには見えません.
追加:ドキュメントのコードを使用するときに忘れていました。alerts.less でエラーが発生しました。
エラー
stream.js:94
throw er; // Unhandled stream error in pipe.
^
[gulp] Error in plugin 'gulp-less': variable @alert-padding is undefined in file C:\wamp\www\myproj\source\less\alerts.less line
no. 10
その行を削除しても、新しいエラーが見つかり続けます。
編集:ドキュメントには次のように書かれていますが、それは私には意味がありません.
エラー処理
デフォルトでは、gulp タスクは失敗し、エラーが発生するとすべてのストリームが停止します。この動作を変更するには、こちらのエラー処理ドキュメントを確認してください