<error line="2" column="1" severity="warning" message="'const' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz)." source="jshint.W104" />
我的代码如下:
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
只有JSHint每次都警告我,代码才能正常工作。
#1 楼
当依赖于ECMAScript 6功能(例如const
)时,应设置此选项,以便JSHint不会引发不必要的警告。 / * jshint esnext:true * /(编辑2015.12.29:更新的语法以反映@Olga的评论)
/*jshint esversion: 6 */
const Suites = {
Spade: 1,
Heart: 2,
Diamond: 3,
Club: 4
};
此选项,顾名思义,它告诉JSHint您的代码使用ECMAScript 6特定语法。
http://jshint.com/docs/options/#esversion
编辑2017.06.11:添加了另一个选项基于此答案。
虽然内联配置对于单个文件非常有效,但是您也可以通过在项目的根目录中创建一个
.jshintrc
文件并将其添加到其中来为整个项目启用此设置。 > {
"esversion": 6
}
评论
这可行...肯定希望它是一些命令行参数! ...提示提示jshint民间
–斯科特·斯滕斯兰德
15年9月28日在0:16
现在,文档显示警告。此选项已被弃用,并将在JSHint的下一个主要版本中将其删除。使用esversion:6代替。尽管我的Webstorm内置插件无法识别新选项。我最终都指定了两者。
–奥尔加
15年12月29日在13:30
对我来说,它的.jshintrc不是.jshint,不确定jshint版本是否存在差异
– teknopaul
17年6月15日在13:31
哎呀。你是对的。已更正。
–詹姆斯·希伯德(James Hibbard)
17年6月15日在17:54
如果是这种情况,然后重新启动您的Atom
–Vitor Braga
17-10-5在0:27
#2 楼
您可以在应用程序的根目录中添加一个名为.jshintrc的文件,其中包含以下内容,以将该设置应用于整个解决方案:每个文件都有一个注释
/*jshint esversion: 6 */
,但是如果您需要控制多个文件,则它的工作量比必要的多。评论
是否有使用此配置?我的jshint只是忽略.jshintrc内部的内容。
–杨奕迅
16年8月8日在1:42
@EthanYang,不。没有额外的配置。只需确保JSHint可以找到该文件。从文档:JSHint将开始在与被插入文件相同的目录中查找该文件。如果未找到,它将在目录树中上移一层,一直到文件系统根目录。 (请注意,如果输入来自标准输入,则JSHint不会尝试查找配置文件)
–扎农
16 Dec 8'在10:46
#3 楼
使用export语句时,我得到了同样的警告。我正在使用VS Code,并使用了类似的方法来处理Wenwen Jiang的解决方案。 />"jshint.config": {}
(编辑)在指定
"esversion"
时使用双引号或将此代码段复制到用户设置中:
"jshint.options": {
"esversion": 6,
}
如果要为编辑器配置全局jshint设置,则无需创建
.jshintrc
文件。评论
谢谢。对于使用Visual Studio代码的人来说,绝对是最好的答案。对于参考,请通过(Mac :)“代码”>“偏好设置”>“设置”进行用户设置。
– CopyJosh
17年11月14日在21:01
感谢您提供此附加解决方案。这是非常有帮助的。
–丹尼尔(Danielle)
19年8月20日在2:33
太好了,非常感谢。如果您使用VS Code,那么效果很好。另外,请注意,以防万一,在用户设置中,该名称现在为jshint.config。
–约翰·曾尼思(John Zenith)
20-10-3在12:26
#4 楼
如果您使用的是VSCode:1.
转到首选项->设置(
cmd + ,
)在搜索栏中键入
jshint.options
将鼠标悬停在它上方,然后单击铅笔图标
。它现在附加在右侧。
将
"esversion": 6
添加到选项对象。2.
/>
或简单地将其添加到用户设置:
"jshint.options": {
"esversion": 6
}
[更新]新的vscode设置
转到首选项->设置(
cmd + ,
)键入
jshint
进行搜索继续执行步骤
2.
#5 楼
我花了很长时间试图解决这个问题。每个解决方案都讨论“设置选项”。我不知道那是什么意思终于,我明白了。您可以在文件/*jshint esversion: 6 */
的顶部添加注释掉的行。评论
如我所知,这样做的唯一问题是必须在使用的每个文件的顶部添加注释。更好的解决方案是在应用程序的根文件夹中创建一个名为.jshintrc的新文件,然后将以下代码添加到文件{“ esnext”:true}
–乔什·皮特曼(Josh Pittman)
16年2月16日在11:39
{“ esnext”:true}现在已弃用。您现在应该改为使用{“ esversion”:6}。
–cybersam
16 Mar 30 '16 at 23:48
我必须使用JSHint的过时版本,因为只有使用“ esnext”:true才能解决此问题。 “ esversion”:6无效。
–琼康
16 Sep 15'在10:54
然后升级您的JShint😉
–西里尔·杜尚(Cyril Duchon-Doris)
17年4月13日在15:12
#6 楼
您可以在jshint选项对象内指定esversion:6。请看图片。我正在使用grunt-contrib-jshint插件。评论
这适用于使用Grunt的用户。将此添加到gruntfile.js
–JoeTidee
17年2月19日在1:18
谢谢,对我来说就像是一种魅力。无需忽略文件和独占页面中的esversioning的单独实现
– sg28
18-2-28在20:33
#7 楼
当您开始使用ECMAScript 6时,IDE会引发此错误。有两个选项:
如果只有一个文件并且要使用es6,则只需在文件顶部添加以下行即可。
/*jshint esversion: 6 */
或者,如果您有许多js文件,或者您正在使用任何框架(例如nodejs express),则可以在根目录中创建一个名为
.jshintrc
的新文件,并在下面的代码中添加文件:{
"esversion": 6
}
如果要对每个项目使用es6版本以上,则可以配置IDE。
#8 楼
在您的package.json中,您可以告诉Jshint这样使用es6"jshintConfig":{
"esversion": 6
}
评论
2020年4月,Visual Studio Code接受了答案
– ArifMustafa
20-4-10上午11:05
#9 楼
在根目录中创建.jshintrc
文件,并在其中添加最新的js版本:"esversion": 9
和asi版本:"asi": true
(它将帮助您避免使用分号){
"esversion": 9,
"asi": true
}
#10 楼
如果您使用的是Webstorm,并且没有自己的配置文件,则只需在设置|选项|轻松选项中启用
EcmaScript.next
。语言和框架| JavaScript |代码质量工具| JSHint
请参阅此问题如何解决这些JSHint-ES6错误
#11 楼
如果使用的是Grunt配置,则需要执行以下步骤Jshint中的警告消息:
解决方案:
设置jshint选项并映射.jshintrc.js文件
在其中创建.jshintrc.js文件文件中添加以下代码
{ "esversion": 6 }
配置此代码后,再次运行将跳过警告,
#12 楼
创建一个名为jshint_opts的文件,其内容如下:{
“ esversion”:6
}
然后使用以下命令行调用jshint:
jshint --config jshint_opts lib / *。js
#13 楼
对于Mac上的SublimeText 3:在您的根目录(或任何您喜欢的位置)中创建一个.jshintrc文件并指定esversion:
# .jshintrc
{
"esversion": 6
}
参考刚在SublimeLinter用户设置中创建的文件的pwd
(SublimeText>首选项>程序包设置> SublimeLinter>设置)
// SublimeLinter Settings - User
{
"linters": {
"jshint": {
"args": ["--config", "/Users/[your_username]/.jshintrc"]
}
}
}
退出并重新启动SublimeText
#14 楼
2020年5月这是我找到的一个简单解决方案,如果您的项目在c:目录下,请在Windows上为我的所有项目解决,创建新文件.jshintrc并将其保存在C目录中,打开此.jshintrc文件并写入{ "esversion": 6}
和而已。警告应该消失,同样会在d目录中起作用是的,您也可以仅通过创建一个项目根目录中的.jshintrc文件,并添加
{ "esversion": 6}
#15 楼
为了在Dreamweaver CC 2018中解决此问题,我转到了首选项,
编辑规则集-选择JS,
编辑/应用更改,
找到“ esnext”并更改了错误设置确实。
经过数小时的研究,它对我有用。希望对别人有帮助。
#16 楼
如果使用Sublime Text 3:转到“首选项”->“设置”
在Preferences.sublime-settings下-用户添加“ esversion”:6
#17 楼
在Dreamweaver的新版本中解决此错误转到“编辑”->“首选项”->“ Linting”
,然后转到js编辑规则集
和过去
“ jshintConfig”:{
“ esversion”:6
}
评论
我在文本中没有看到任何问题,但可能您已经回答了:“使用esnext选项”。又为什么呢该错误消息不是很清楚吗? const不是标准的JS(还)。或使用eslint代替jshint