现在,我不是ASI的粉丝.但鉴于这是完全合法的javascript,这里jshint(反复地,8次)正好在这里找到分号?
script.addEventListener('load', function () {
++i !== requires.length ? loader(i) : (loadLocal(thirdParty), loadLocal(main))
}, true);
Run Code Online (Sandbox Code Playgroud) 所以JSHint告诉我不应该在循环中创建函数.然后我通常在循环之外创建一个函数.
但是现在我有一个更困难的部分:
for (r=0;r<x;r++) {
for (c=0;c<y;c++) {
var arr = [c,r];
setTimeout( (function(arr) { return function() { doSomething(arr); };})(arr), 50+c*550 + r*230 );
}
}
Run Code Online (Sandbox Code Playgroud)
我怎么能重构这部分不得到JSHint警告?
运用
" Customize jshint highlights
hi clear SpellBad
hi SpellBad cterm=underline,bold ctermfg=white ctermbg=black
Run Code Online (Sandbox Code Playgroud)
SpellBad当我第一次打开包含jshint错误的缓冲区时,我能够将我的jshint高光自定义为我想要的颜色.从这里可以看出,我的背景是黑色的,带错误的行是粗体白色和下划线.正如我在.vimrc上面使用这些定义所指定的那样.

问题是,当我在缓冲区之间切换或稍后再打开一个缓冲区时,我的自定义jshint SpellBad颜色不再适用,我得到了我不想要的"默认"颜色.

为什么会这样?如何使我的自定义jshint SpellBad颜色坚持下去?
我在这样的路径中有一个web项目:
/vhosts/mysite/
Run Code Online (Sandbox Code Playgroud)
我的js文件在这里:
/vhosts/mysite/public/js/
Run Code Online (Sandbox Code Playgroud)
使用时gulp-jshint,我.jshintignore在这里有一个文件:
/vhosts/mysite/.jshintignore
Run Code Online (Sandbox Code Playgroud)
gulpfile.js 到目前为止看起来像这样:
var gulp = require('gulp');
var jshint = require('gulp-jshint');
gulp.task('default', function(){
return gulp.src('./public/js/*.js')
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish'));
});
Run Code Online (Sandbox Code Playgroud)
我无法使用.jshintignore以下方法忽略相对通配符路径:
bootstrap.min.js // This works
*.min.js // This doesn't work
./*.min.js // This doesn't work either
/vhosts/mysite/public/js/*.min.js // This works
Run Code Online (Sandbox Code Playgroud)
我在这做错了什么?
我有一个非常非常简单的Regexp:
new RegExp('\d')
Run Code Online (Sandbox Code Playgroud)
/d根据MDN的RegExp文档有效.运行jshint给出:
Bad or unnecessary escaping.
Run Code Online (Sandbox Code Playgroud)
对于线.我究竟做错了什么?
编辑:@epascarello如果这是一个副本,请告诉我这是一个重复的问题.
今天我写了这段代码:
(function (window) {
'use strict';
function ViewPort() {
var getSize = function () {
var e = window,
a = 'inner';
if (!('innerWidth' in window)) {
a = 'client';
e = Document.documentElement || Document.body;
}
return { width : e[a + 'Width'], height : e[a + 'Height'] };
},
update = function () {
var vw = (getSize().width / 100);
Document.querySelector('html').style.fontSize = vw + 'px';
};
Document.addEventListener("resize", update());
}
function run() {
return new ViewPort();
}
window.viewport = run; …Run Code Online (Sandbox Code Playgroud) 我只是在运行:
$> jshint .
Run Code Online (Sandbox Code Playgroud)
它查看我的项目目录中的 .js 文件,但它也在查看 node_modules 目录,该目录包含大量我不想知道的 .js 文件。
我可能会提到 eslint 开箱即用,可以忽略 node_modules 目录。
有没有办法运行带有标志的 .jshint 以忽略 node_modules 目录?
例如
$> jshint . --ignore ./node_modules
Run Code Online (Sandbox Code Playgroud)
?
我正在使用ECMAScript6实现客户端应用程序,并使用JSHint进行静态代码分析.我经常在我的代码中使用以下模式:
class MyClass {
constructor() {
//This is how I would like to call myMethod
myMethod();
//This is how I should call myMethod to make JSHint analysis pass
this.myMethod();
}
myMethod(){
//Implementation
}
}
Run Code Online (Sandbox Code Playgroud)
我的主要语言是Java,所以我希望简单地调用myMethod()应该没问题.但是,如果没有将此添加到方法调用中,我将"未定义"'myMethod'来自JSHint的警告.我的问题是:
正在此Missing "use strict" statement,即使它在文件的顶部,它混淆了我decalred.对于第10行和第12行,此错误出现两次.
'user strict';
var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
host : 'http://localhost:9200'
});
client.search({
index: 'twitter',
type: 'tweets'
}).then(function (resp) {
var hits = resp.hits.hits;
}, function (err) {
console.trace(err.message);
});
Run Code Online (Sandbox Code Playgroud)
上面的代码主要是从http://www.fullscale.co/elasticjs/复制和粘贴
无法安装 JSHint。谁能建议我我做错了什么?
我正在使用下面的命令。
npm install --save-dev gulp-jshint gulp-jscs jshint-stylish
它显示以下“gulp-jshint@2.0.4 需要 jshint@2.x 的对等点,但没有安装 - UNMET 对等依赖项”