問題タブ [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.

0 投票する
1 に答える
1156 参照

javascript - grunt watch タスクの分割

だから私は5つgrunt-contrib-watchのタスクがあります:

  • sass ファイルをコンパイルするための sass
  • testConcat からテストを連結する
  • implementationConcat は、テスト用に実装ファイルを連結します
  • ハンドルバー テンプレートをプリコンパイルするためのテンプレート
  • karma は karma のテスト ランを開始します

それらすべてを監視することはわかってgrunt watchいますが、実際にはそれらを 2 つのグループに分割する必要があります。最初の 4 つはデザイナーが静的サーバーを実行して sass 作業を行っているとき用で、最後の 2 つは js 作業を行っているとき用です.

私はgrunt-concurrentそれらを分割して同時に実行するために使用していますが、それは機能しますが、ちょっとしたハックのようです。何か不足していますか?

0 投票する
1 に答える
275 参照

gruntjs - グラントウォッチが動かない

grunt-contrib-watch の実行方法がわからなくて困っています。指定されたとおりに実行grunt watchすると、次の結果のみが得られます。

その後、再びコマンド プロンプトに戻りますが、監視プロセスが入力をブロックしたり、タスク マネージャーに表示されたりすることはありません。昨夜からこれをいじっていますが、何が間違っているのかまだわかりません。これが私のグラントファイルです。それが助けになるなら、私はWindows 7マシンで作業しています。

0 投票する
1 に答える
1034 参照

gruntjs - 監視タスクの後にタスクを実行することは可能ですか?

grunt-phpで実行できない PHP ベースのプロジェクトがあります。代わりに、grunt-execを使用して開発用の MAMP サーバーを実行しています。

私のカスタム開発タスクでは、監視タスクの直前に MAMP 開始スクリプトを実行します。次に、監視タスクを終了した後、MAMP サーバーを停止しようとしています。

ただし、Ctrl-C でタスクを終了すると、タスクがexec:serverdown実行されないようです。これを機能させる方法はありますか?サーバーがダウンすることはないため、停止スクリプトを手動で実行するまでそのポートは拘束され、停止する前にデフォルト タスクを再度実行しようとするとエラーが発生します。

そうでない場合、同じことを達成できる他の方法はありますか?

0 投票する
1 に答える
758 参照

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の内容です。何が起こっているのかを理解するのを手伝ってくれる人はいますか?

0 投票する
1 に答える
295 参照

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 ファイル ソース参照に追加すると、変更が即座に検出されます。

例:

質問を十分に明確に渡すことができたことを願っています。何かが明確でない場合は、私に知らせてください。

お時間をいただきありがとうございます!

0 投票する
1 に答える
12619 参照

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 データを表示できません)、恐ろしく複雑なので、変更したいと思います。

洞察をありがとうございました。

0 投票する
0 に答える
133 参照

node.js - 構成データを保持するために grunt-watch によって呼び出されるタスクを取得する方法は?

Grunt で、いくつかの構成データをロードし、それを保存するためにserver呼び出すタスクを定義しました。grunt.config.set次に、他のいくつかのタスクを実行しwatchます。このタスクは、ファイルが変更さreplaceれるたびにタスクを呼び出します。.html

さて、私の問題は、replaceタスクで、タスクにロードされた構成データにアクセスできないように見えることですserver。アクセスできることを確認するにはどうすればよいですか?