1

grunt-contrib-watch プラグインは素晴らしい自動ビルド機能を提供しますが、タスクからの警告メッセージが表示されない場合があります。私の grunt.js は次のとおりです。

    min: {
        app: {
            src: [
                'some.js',
            ],
            dest: 'some.min.js'
        },
    }

    watch: {
        app: {
            files: 'some.js',
            tasks: ['min:app']
        },
    }

ソースに問題がなければ、すべてがスムーズに進みます。ただし、UgliifyJS が中止された場合:

grunt min:app を直接実行する

Running "min:app" (min) task
Minifying with UglifyJS...ERROR
[L360:C46] Unexpected token name, expected punc (position: 8529)
<WARN> UglifyJS found errors. Use --force to continue. </WARN>

Aborted due to warnings.

watch プラグインによる自動ビルド

Waiting...OK
>> File "some.js" changed.
Running "min:app" (min) task

そのため、出力自体を見ずにビルドが成功したかどうかを知る方法はありません。

css less を使用した同様のセットアップでは、CLI にエラーが表示されます。機能させるために grunt/watch plugin/uglify に渡す必要があるものがあるかどうか疑問に思っています。

4

2 に答える 2

0

Grunt v0.3.x +grunt-contrib-watchv0.1.4が確かに問題のようです...

https://github.com/gruntjs/grunt-contrib-watch/issues/19

https://github.com/gruntjs/grunt-contrib-watch/issues/7

編集:Grunt v0.4.x + grunt-contrib-watch v0.2.xにアップグレードした後、問題は解決しました。これは重大なアップグレードであることに注意する必要がありますが、ほとんどのv0.3プラグインはGruntv0をサポートするように変換されていません。 .4まだ)

参考までに、私は彼らのリポジトリでもチケットを閉じました:https ://github.com/gruntjs/grunt-contrib-watch/issues/51

于 2013-02-20T09:02:22.563 に答える
0

使用されている jshint を監視し、jshint が適切に構成されていることを確認してから、watch コマンドの grunt タスクに追加する必要があります。jshint タスクをウォッチ タスクに追加し、jshint の構成オプションも含めます (以下の例)。

 jshint: {
   all: [
    'Gruntfile.js',
    'some.js'
  ],
  options: {
    jshintrc: '.jshintrc'
  }
},
// minification options here
watch: {
  scripts: {
    files: 'some.js',
    tasks: ['jshint']

 }
}
于 2013-02-20T08:19:35.103 に答える