問題タブ [grunt-contrib-watch]
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 - grunt watch タスクの分割
だから私は5つgrunt-contrib-watch
のタスクがあります:
- sass ファイルをコンパイルするための sass
- testConcat からテストを連結する
- implementationConcat は、テスト用に実装ファイルを連結します
- ハンドルバー テンプレートをプリコンパイルするためのテンプレート
- karma は karma のテスト ランを開始します
それらすべてを監視することはわかってgrunt watch
いますが、実際にはそれらを 2 つのグループに分割する必要があります。最初の 4 つはデザイナーが静的サーバーを実行して sass 作業を行っているとき用で、最後の 2 つは js 作業を行っているとき用です.
私はgrunt-concurrent
それらを分割して同時に実行するために使用していますが、それは機能しますが、ちょっとしたハックのようです。何か不足していますか?
gruntjs - グラントウォッチが動かない
grunt-contrib-watch の実行方法がわからなくて困っています。指定されたとおりに実行grunt watch
すると、次の結果のみが得られます。
その後、再びコマンド プロンプトに戻りますが、監視プロセスが入力をブロックしたり、タスク マネージャーに表示されたりすることはありません。昨夜からこれをいじっていますが、何が間違っているのかまだわかりません。これが私のグラントファイルです。それが助けになるなら、私はWindows 7マシンで作業しています。
gruntjs - 監視タスクの後にタスクを実行することは可能ですか?
grunt-phpで実行できない PHP ベースのプロジェクトがあります。代わりに、grunt-execを使用して開発用の MAMP サーバーを実行しています。
私のカスタム開発タスクでは、監視タスクの直前に MAMP 開始スクリプトを実行します。次に、監視タスクを終了した後、MAMP サーバーを停止しようとしています。
ただし、Ctrl-C でタスクを終了すると、タスクがexec:serverdown
実行されないようです。これを機能させる方法はありますか?サーバーがダウンすることはないため、停止スクリプトを手動で実行するまでそのポートは拘束され、停止する前にデフォルト タスクを再度実行しようとするとエラーが発生します。
そうでない場合、同じことを達成できる他の方法はありますか?
gruntjs - grunt: registerTask メソッドに他のタスクを含めると、watch コマンドが実行されない
Gruntfile で予期しない動作が発生しています。次のようなタスクを登録しました: grunt.registerTask('dev', ['jekyll:server', 'watch:jekyll'])
jekyll サーバーを順次起動し、プロジェクトで特定のファイルの変更を (grunt-contrib-watch
プラグインを使用して) 監視することを期待しています。それらの変更を検出すると、自動的に再実行さjekyll:server
れます。
私が抱えている問題は、 を実行するgrunt dev
と、Jekyll サーバーが起動しますが、watch
コマンドが実行されないことです。ただし、からサーバー タスクを削除すると、期待どおりにコマンドgrunt dev
が実行されます。watch
以下は私のGruntfileの内容です。何が起こっているのかを理解するのを手伝ってくれる人はいますか?
javascript - Gruntjs - 大量のサブディレクトリとファイルの変更を監視する
最近 grunt.js を使い始めたばかりで、大きなフォルダー構造の変更を監視できるかどうか知りたいですか?
小さなプロジェクトフォルダー構造では問題なく動作しますが、magento や wordpress などのシステム全体、またはそれらの一部を監視しようとすると、そこにハングアップして変更が見つかりません。
私は何か間違ったことをしていますか?
ここに私のgruntfile.jsがあります:
あなたがmagentoに精通しているなら、gruntfileはそこにあります
D:\wamp\www\magento\app\design\frontend\myTheme\default\
そして、「テンプレート」フォルダーを調べて、ファイルの変更を探します。
「テンプレート」フォルダー内には、404 個のファイルと 242 個のフォルダーがあります。公平を期すにはそれほど多くはありません...変更がすぐに見つからず、ハングする理由がわかりません。
単一のサブディレクトリ (例: /page には 25 個のファイルと 4 個のフォルダーが含まれます) を gruntfile ファイル ソース参照に追加すると、変更が即座に検出されます。
例:
質問を十分に明確に渡すことができたことを願っています。何かが明確でない場合は、私に知らせてください。
お時間をいただきありがとうございます!
node.js - 変更されたファイルに基づいて grunt 監視タスクを変更する方法は?
大量の (300 っぽい) 量の scss プロジェクトで満たされたディレクトリを監視する node.js プログラムを作成しています。Grunt-watch (ノードモジュールを介して実行するか、独自に実行するか、動作するものは何でも実行) は、scss ファイルが変更されるたびにコンパスでコンパイルされ、出力ファイルが別のディレクトリに移動されるように構成されます。たとえば、次のようになります。
./1234/style.scss が変更されました >> grunt-watch は grunt-compass を実行します >> /foo/bar/baz/1234/style.css が更新されました
ファイルがあったプロジェクト ディレクトリは明らかに非常に重要です (grunt-compass がすべてのコンパイル済みファイルを同じディレクトリに送信した場合、それらはごちゃごちゃになって使用できなくなり、grunt 自動化は無意味になります)。すべてのファイルが正しい場所にルーティングされるようにするために、css ファイルが更新されるたびに grunt-compass の設定を動的に変更しています。
サンプル gruntfile:
ただし、これは機能しません。詳細モードで「grunt watch」を実行すると、grunt が grunt.event.on 関数と監視タスクの両方を別々のプロセスで実行することがわかります。gruntfile の 2 回目の解析では、すべての event.on 構成の変更が上記のデフォルトに戻され、コンパスの実行に失敗します。
event.on のコメントに見られるように、grunt.task.run() を追加して、コンパスが event.on 関数と同じプロセスで実行されるようにしました。これにより、構成の変更が保持されます。ただし、タスクの実行が拒否されたのは、おそらく私のやり方が間違っているためです。
残念ながら、grunt.event.on 変数は、定義された grunt-watch タスクに送信されません。それ以外の場合は、コンパスの設定を変更し、同じプロセスでコンパスを実行するカスタム関数を作成できます。
コンパスにビルドされたウォッチ関数を使用して、うなり声なしでこれを実装しようとしましたが、コンパスはプロジェクトごとに 1 つの静的出力パスしか保存できず、一度に 1 つのプロジェクトしか監視できません。
私は現在、サイト名をパラメーターとして受け取り、fs を使用して実行して grunfile.js を書き換え、次に exec 関数を介して「grunt watch」を実行するノード プログラムを追加することで、この問題を回避しています。ただし、これには独自の欠点があり (grunt.log データを表示できません)、恐ろしく複雑なので、変更したいと思います。
洞察をありがとうございました。
node.js - 構成データを保持するために grunt-watch によって呼び出されるタスクを取得する方法は?
Grunt で、いくつかの構成データをロードし、それを保存するためにserver
呼び出すタスクを定義しました。grunt.config.set
次に、他のいくつかのタスクを実行しwatch
ます。このタスクは、ファイルが変更さreplace
れるたびにタスクを呼び出します。.html
さて、私の問題は、replace
タスクで、タスクにロードされた構成データにアクセスできないように見えることですserver
。アクセスできることを確認するにはどうすればよいですか?