Articles of jshint

jshint错误:重新定义'$'

我有一个Node.js Web应用程序,我使用Backbone.js和jQuery。 我的主要js文件是app.js ,其中包括所有必需的脚本,包括jQuery。 所以,这是我的app.js代码的开始: 'use strict'; var _ = require('lodash'); var $ = require('jquery'); var B = require('backbone'); B.$ = $; 现在,如果我在我的项目上运行grunt ,它会在jQuery加载到$的行上引发错误。 它显示了我: Linting public/js/app.js …ERROR [L4:C5] W079: Redefinition of '$'. var $ = require('jquery'); 我仍然可以使用grunt –force运行所有的东西,但是我想要消除这个错误。 有人可以解释为什么会引发错误,以及如何解决? 我的.jshintrc文件: { "laxcomma": true ,"laxbreak": true ,"curly": true ,"eqeqeq": true ,"immed": true ,"latedef": true ,"newcap": […]

沉默时JSHint具体

考虑下面的标准Expressfunction: if (app.get('env') === 'development') { app.use(function (err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } 显示以下警告: “下一个”被定义,但从未使用过。 – W098 我知道我可以禁用所有的警告 ,但这不是我想要的。 我需要的是只沉默JSHint一个特定的参数(上面的代码片段中的“下一个”)。 对于这个看似普遍的问题,我还没有看到明确的答案。 有任何想法吗? 谢谢!

抑制`预期的标识符,而是看到'默认'(一个保留字)在JSLint与Mongoose

我正在使用jshint来validation我的JavaScript文件。 在服务器端,我使用Mongoose的node.js。 在Mongoose中,我被鼓励以如下的方式写图式: var UserSchema = new mongoose.Schema({ firstname : { type: String, default: '' } }); 运行linting时,出现错误: Expected an identifier and instead saw 'default' (a reserved word). 有没有办法来压制这个错误? 我真的更喜欢这种行为,而不是写作: var UserSchema = new mongoose.Schema({ firstname : { type: String, "default": '' } });

grunt-contrib-jshint警告:path必须是string;

我一直在试图使用jshint grunt模块来validation我的代码,但我总是得到以下错误: Running "jshint" task [D] Task source: C:\Coursera\03. Intro Angular JS\conFusion\node_modules\grunt-contrib-jshint\tasks\jshint.js Running "jshint:all" (jshint) task [D] Task source: C:\Coursera\03. Intro Angular JS\conFusion\node_modules\grunt-contrib-jshint\tasks\jshint.js Verifying property jshint.all exists in config…OK Files: Gruntfile.js, app/scripts/app.js Options: force=false, reporterOutput=null, jshintrc=".jshintrc", reporter={} Warning: Path must be a string. Received { toString: [Function], reporter: [Function] } Use –force to continue. 问题是即使使用–verbose和-debug,它不显示任何工作的错误,只是“path必须是一个string”,我用JSLint(使用括号)validation文件,它工作得很好,网站也工作正常。 […]

jshint:使用节点选项,但不允许控制台语句?

我正在使用jshint,我想使用node选项,但我也想禁止控制台语句。 这可能吗? 我一直在阅读jshint选项文件没有运气。 我试过的东西都失败了: "node": true, "globals": { "console": false } 也: "node": true, "devel": false 我想我可以设置"node": false ,然后明确地将所有内容添加到globals ,但这看起来很丑。

使用JSHint和Express.js /'delete'(保留字)

我正在使用Node.js的Express.js ontop来创buildRESTful API,并使用grunt来监视我的文件并自动将我的JavaScript删除。 每次使用删除function,它都会被JSHint标记: [L218:C9] Expected an identifier and instead saw 'delete' (a reserved word). app.delete('/api/users/:userid', function deleteUser(req, res, next) { 我明白'删除'是一个保留字,但它是由Express.jsselect的! 有没有更好的方式去linding我的Express.js应用程序? 任何方式来closures这个检查?

在命令行上运行cmd时,npm运行cmd失败

在我的HTTP状态检查项目中 : 如果我运行node_modules/.bin/jshint . 我得到: $ node_modules/.bin/jshint . test/inAdapters_fileAdapter.js: line 73, col 31, Missing semicolon. 1 error 它正确执行并产生预期的输出:1错误。 但是,如果我将这个命令添加到package.json中,并尝试通过npm run那么它将起作用并产生预期的输出,但是也会出现一些错误: $ npm run jshint > http-status-check@0.0.5 jshint /home/guy/source/http-status-check > jshint . test/inAdapters_fileAdapter.js: line 73, col 31, Missing semicolon. 1 error npm ERR! Linux 3.13.0-24-generic npm ERR! argv "node" "/home/guy/local/bin/npm" "run" "jshint" npm ERR! node v0.10.31 […]

我如何使jshint缩进选项的工作

jslint可以通过运行'jslint –indent 4 test.js'来检查缩进,但我不明白它在jshint中的工作。 我按照以下步骤来做。 通过“npm install -g jshint”安装jshint 编辑〜/ .jshintrc,我的jshintrc看起来像 {…,“indent”:4,“white”:false,…} 编辑js文件test.js / jshint缩进:4 / var condition,doSth; 如果(条件) doSth(); //预计是无效的 运行jshint test.js,但缩进检查不起作用。 开始的两个空格可以通过检查。

JSHint是否支持节点7(asynchronous/等待)?

我正在使用JSHint的JavaScript项目(与Visual Studio代码)。 而在这个项目中,我使用async / await,哪个JSHint突出显示为错误。 我试图设置jshint,但它似乎是“esversion”的最大版本是6。 jshint支持asynchronous/等待吗? 如果有,如何打开? 如果没有,是否有任何解决方法?

如何在Eclipse中忽略节点shebang错误?

我正在写一些节点命令行工具。 他们都是从行开始的: #!/usr/bin/env node 使用Eclipse Juno和Nodeclipse Node.js插件,这行代码会产生如下所示的错误: 好的,所以#在JavaScript中不是一个有效的注释字符,但它在Linux / UNIX中是一个有效的字符,作为文件中第一行的符号 。 但是我怎样才能设置Eclipse来忽略这个错误? 这对我来说是个问题,因为如果你有错误,代码格式化不起作用。 我必须删除该行。 点击CTRL-SHIFT-F并添加行。 我已经尝试了很多东西并进行了研究,但是我找不到答案。 这里有一个重复的问题, 在hashbang行eclipse javascript语法错误 ,但我的问题有更多的信息。 编辑: 看起来有什么东西添加到jshint允许shebangs在第一行 。 也许我需要更新我的node-eclipse,或者node-eclipse项目需要更新jshint? 我的jshint eclipse集成版本是0.9.6。 我的nodeclipse是0.4.0.20130519 … 我升级到 jshint eclipse集成0.9.9.20131029 nodeclipse 0.7.0.20131101 这没有帮助。 这是我在eclipse中的JSHint版本: 编辑2: 感谢VonC的回答。 但我认为这表明我没有在文件中的BOM。 任何其他的想法? $ od -N 20 -t x1 hello.js 0000000 23 21 2f 75 73 72 2f 62 […]