2016-05-26 9 views
0

私はgulp-jshintを使用していて、このメッセージをjavascriptファイルで受信しています。このファイルは、私のAureliaアプリケーションのシンプルなサービスクラスです。ここでは、コードは次のようになります。ここでは予期しないトークンILLEGAL with @inject

import {inject} from 'aurelia-framework'; 
import {MyService} from './app/service/MyService'; 

/* jshint ignore:start */ 
@inject(MyService) 
/* jshint ignore:end */ 
export class App { 

    constructor(MyService) { 
     this.message = MyService.message; 
    } 

} 

は私の一気タスクは(飲み込む-jshintは一口-負荷のプラグインを使用して読み込まなっている)である。

gulp.task('vet', function() { 
    return gulp.src(config.alljs) 
     .pipe($.if(args.verbose, $.print())) 
     .pipe($.jscs()) 
     .pipe($.jshint()) 
     .pipe($.jscsStylish.combineWithHintResults()) 
     .pipe($.jshint.reporter('jshint-stylish', {verbose: true})) 
     .pipe($.jshint.reporter('fail')); 
}); 

私は私の.jshintrcに

"esversion": 6を持っていますこれは、(PowerShellとCMDの両方で)gulp vetを実行した結果である

PS C:\_files\programming\MyProj> gulp vet 
[11:42:21] Using gulpfile C:\_files\programming\MyProj\gulpfile.js 
[11:42:21] Starting 'vet'... 

web\app.js 
    line 5 col 1 Unexpected token ILLEGAL (W parseError) 

    ‼ 1 warning 

[11:42:23] 'vet' errored after 1.79 s 
[11:42:23] Error in plugin 'gulp-jshint' 
Message: 
    JSHint failed for: web\app.js 
PS C:\_files\programming\MyProj> 

Aureliaアプリはうまく動作します。 JSHintはVSCode内の@injectも無視していますが、問題はありません。しかし何らかの理由で、gulp-jshintはそれを行かせません。私は検索した後に行を削除して再入力し、印刷できない文字で多くの問題を見つけました。私は// jshint ignore:line構文に無視するjshintを切り替えてみました。まだ何も。

紛失しているものがありますか?

答えて

0

JSHintは( "@whatever")のデコレータをまだサポートしていませんので、esversion: 6はこの問題に影響しません。

JSHintのポリシーは、 の標準化プロセスの第2段階である機能をサポートすることです。これはまだデコレータには当てはまりません。

https://github.com/jshint/jshint/issues/2310

ないなぜあなたけれども、ディレクティブは失敗している "無視" してください。たぶん単一行のignore指令を試してみてください。 @inject(MyService)// jshint ignore:line

編集:1行を無視すると、私のどちらでも機能しません。申し訳ありませんが、この回答はおそらく役に立ちません。 :-(

関連する問題