我正在使用 gulp-jshint 并使用 javascript 文件接收此消息。该文件是我的 Aurelia 应用程序中的一个简单服务类。这是代码:
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;
}
}
这是我的 gulp 任务(gulp-jshint 正在使用 gulp-load-plugins 加载):
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'));
});
我"esversion": 6
在我的 .jshintrc
这是运行的结果gulp vet
(在Powershell和cmd中)
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 也忽略了@inject
VSCode 内部,没有问题。但是,出于某种原因,gulp-jshint 不会放过它。在搜索并发现很多与不可打印字符有关的问题后,我已删除并重新输入了该行。我尝试将 jshint 忽略切换为// jshint ignore:line
语法。依然没有。
有什么我想念的吗?