Articles of jshint

详细通过节点0.10.25安装jshint错误的JSON错误

我正在试图在Mint Linux系统上安装jshint,使用: sudo npm install -g jshint 我得到以下错误。 在这点之上,乱码错误信息填充我的terminal缓冲区。 # : b8 <f+) m r W^ Ä ?ՎZq Î > eV{ Y Р ? Hm *Zm `S I} o W@ W*w c b b )f z )/ M 6 o 7 ^& Sר + \ /6 n g[ m ~ ? WX G k { […]

困惑于JSHint选项如何工作

问题 我做了一个JavaScript文件示例来说明我的困惑。 (function() { console.log(true == true); })() 这应该绊倒两个错误; 首先使用==而不是=== ,第二,缺less分号。 但是,当我跑步 var jshint = require('jshint').JSHINT; jshint('(function() { console.log(true == true); })()'); 在节点REPL上我得到错误,当我不期望。 我期望没有错误的原因是因为在JSHint文档中,它说: 第二个参数[jshint]是控制JSHINT操作的选项对象。 大多数选项是布尔值:它们都是可选的,并且具有默认值false。 我希望这不会产生任何错误,因为我没有定义任何选项,所以都应该是错误的。 意想不到的行为的最后一部分是设置选项似乎什么都不做。 以下两个对jshint的调用也会产生相同的错误: var myFile = '(function() { console.log(true == true); })()'; jshint(myFile, {eqeqeq: false, asi: false}); jshint('/*jshint eqeqeq:false, asi:false */\n' + myFile); 题 我不确定JSHint选项如何工作,我很可能会误解文档。 我会很高兴知道什么在我的上面调用jshint或在我的假设是不正确的,或者实际上是jshint的问题。

JShint不工作

我使用npm install -g jshint安装了jshint。 我不知道如果我的节点安装有问题,但是当在terminal中,而我运行jshint它什么也没有做。 它不会显示任何内容,但会显示下一个terminal提示符。 在升级之后遇到以前的麻烦之后,当我运行npm install -g jshint命令后,新的节点安装完成后,它看起来并不像以前那样运行。 这里是试图安装jshint的输出。 $ npm install -g jshint /Users/michael/.nvm/v0.10.32/bin/jshint -> /Users/michael/.nvm/v0.10.32/lib/node_modules/jshint/bin/jshint jshint@2.5.6 /Users/michael/.nvm/v0.10.32/lib/node_modules/jshint ├── strip-json-comments@1.0.1 ├── underscore@1.6.0 ├── exit@0.1.2 ├── shelljs@0.3.0 ├── console-browserify@1.1.0 (date-now@0.1.4) ├── minimatch@1.0.0 (sigmund@1.0.0, lru-cache@2.5.0) ├── htmlparser2@3.7.3 (domelementtype@1.1.1, domutils@1.5.0, entities@1.0.0, domhandler@2.2.0, readable-stream@1.1.13) └── cli@0.6.4 (glob@3.2.11)

在MEAN.js堆栈中,我可以在哪里configurationjshint警告?

即时通讯开发一个基于平均值的应用程序,突然间因为jshint而在150页中得到了750个错误,这些错误都没有在代码破坏的意义上产生问题,所以这个巨大的列表只是用我的控制台上的警告'require'是未定义的。 我知道这是一个愚蠢的问题,但我一直在寻找几个小时,我没有find任何类似的东西,我可以合作的文件。 在基于mean.js堆栈的应用程序中,jshintconfiguration文件在哪里? 什么是path?

jshint es6 const if else else block errors

有了这个代码: const db = {}; if (config.use_env_variable) { const sequelize = new Sequelize(process.env[config.use_env_variable]); } else { const sequelize = new Sequelize(config.database, config.username, config.password, config); } db.sequelize = sequelize; 我有错误 'sequelize'没有被定义 有没有一种方法来使用const,避免如解决方法? 喜欢 let sequelize; if (config.use_env_variable) { sequelize = new Sequelize(process.env[config.use_env_variable]); } else { sequelize = new Sequelize(config.database, config.username, config.password, config); }

检测长度过长(> 100行)的function?

有什么办法来检测我的节点应用程序中超过100行的function? 即时通讯使用JSHint,但它没有任何选项来检测它。

如果其中一个子任务失败,我该如何让Grunt任务失败?

我有一个grunt的构build任务,如下所示: grunt.registerTask("build", ["jshint", "uglify"]); 问题是,即使jshint任务失败,uglify任务也会运行,如果其中一个子任务失败,如何终止“构build”任务?

JSHint和下划线'_'

运行jshint时出现以下错误; line 4 col 5 Redefinition of '_'. 代码是抱怨是; var _ = require('lodash'); jshint在项目中 { "node": true, "esnext": true, "bitwise": true, "eqeqeq": true, "immed": true, "latedef": "nofunc", "newcap": true, "noarg": true, "regexp": true, "undef": true, "smarttabs": true, "asi": true, "debug": true, "globals": { "angular": false, "_": false } }

Grunt任务退出总线错误:10

我正在使用下面的JSHint Grunt任务,这是传递好的: jshint: { options: { ignores: ['js/characters/**/*.js','js/libs/**/*.js','js/text.js','js/video.js'], predef: ['define', 'require'], reporter: require('jshint-stylish'), curly: true, eqnull: true, eqeqeq: true, undef: false, }, all: ['js/**/*.js'], } 我正在尝试将其configuration为在监视任务中工作: watch: { scripts: { files: ['<%= jshint.all %>'], ignores: ['js/characters/**/*.js','js/libs/**/*.js','js/text.js','js/video.js'], tasks: ['jshint'] }, css: { files: ['**/*.sass'], tasks: ['compass'], options: { livereload: true, } } } 但每次我改变一个JS文件,手表退出Bus error: 10

仅在最近修改的文件上运行grunt-contrib-jshint

我们正在重构一个非常大的网站上的代码。 我想对任何被更改的文件强制执行linting,但是忽略其他的文件(因为其中很多文件最终会被删除,因此浪费时间来整理它们)。 我想有一个咕task任务,检查一个文件的修改date比它创build(*从回购)date更新,如果是这样(如果有更新的话,也可以更新一个json文件列表被删除)。 除了grunt及其插件之外,我还没有使用过多的节点。 我将使用http://gruntjs.com/creating-tasks作为起点,但是有人可能会为我画出如何处理写这个任务的方法,特别是关于不同步的任何考虑。