0

Grunt でgjslinterを使用して、プロジェクト内のすべての js ファイルをリントします。

Gruntfile.js の構成は次のようになります。

gjslint: {
    options: {
        flags: ['--disable 220,110,200'],
        reporter: {
            name: 'gjslint_xml',
            dest: '<%= pkg.docs %>/gjslint/gjslint.xml'
        }
    },
    all: {
        src: ['<%= pkg.src %>/assets/js/modules/**', '<%= pkg.src %>/assets/js/lib/jquery/plugins/jquery-hse/**']
    }
}

しかし、リンティングを開始すると失敗します:

$ grunt gjslint Running "gjslint:all" (gjslint) task
Warning: Task "gjslint:all" failed. Use --force to continue.

Aborted due to warnings.

なんで?パスは正しいはずです。エラー メッセージやレポートは表示されなくなりました。どうすればこれをデバッグできますか?

4

1 に答える 1

0

次の手順に従って解決策を見つけました(Windows 10の場合はこちら):

  1. インストール済み Python2.7 https://www.python.org/downloads/
  2. toおよびenv 変数にC:/Python27加えて、Python インストール ディレクトリを追加しました。C:/Python27/ScriptsPATHPYTHONPATH
  3. コマンドラインでこれを実行して、Google JavaScript Linter をインストールしました。

    pip install https://github.com/google/closure-linter/zipball/master

  4. Grunt のレポーター設定を変更:

(Gruntfile.js):

reporter: {
    name: 'console' //report to console
}

を実行すると、コンソールに適切なエラー メッセージが表示されるようになりましたgrunt gjslint。無効なコードを含む min.js ファイルがあることがわかりました。そのため、最小ファイルの例外を追加して Gruntfile.js から削除しました。

src: [
  '<%= pkg.src %>/assets/js/modules/**/*.js',
  '<%= pkg.src %>/assets/js/lib/jquery/plugins/jquery-hse/**/*.js',
  '!<%= pkg.src %>/assets/js/**/*.min.js'
]

これで問題が解決しました!

于 2016-07-11T16:29:28.193 に答える