这是我在使用const时得到的错误:

<error line="2" column="1" severity="warning" message="&apos;const&apos; 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是警告我每次。


当依赖于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 esversion: 6 */的顶部包含一个注释的输出行。


你可以在应用程序的根目录中添加一个名为.jshintrc的文件,其中包含以下内容,以便将此设置应用于整个解决方案:

{
    "esversion": 6
}

James的回答建议您可以为每个文件添加注释/*jshint esversion: 6 */,但如果您需要控制许多文件,则工作量会比必要的多。


你可以在jshint options对象中指定esversion:6。请看图片。我正在使用grunt-contrib-jshint插件。


在使用export语句时,我得到了同样的警告。我正在使用VS Code,并使用了类似于Wenlong Jiang的解决方案的方法。

用户设置 JSHint配置 “jshint。config":{}(编辑) 在指定“esversion”时使用双引号 或者将这个片段复制到用户设置中: “jshint。选择":{ “esversion”:6, }

如果您想为编辑器配置全局jshint设置,则不需要创建.jshintrc文件


创建一个名为jshint_opts的文件,内容如下: { “esversion”:6 }

然后用如下命令行调用jshint:

——配置jshint_opts lib/*.js


如果你使用VSCode:

1.

转到首选项->设置(cmd +,) jshint类型。选项进入搜索栏 将鼠标悬停在上面,然后单击铅笔图标 它现在被附加到右边。 在options对象中添加"esversion": 6。


2.

或者简单地添加到您的用户设置:

"jshint.options": {
    "esversion": 6
}

新的vscode设置

转到首选项->设置(cmd +,) 在搜索中输入jshint

继续执行步骤2。


如果使用Sublime Text 3:

进入“首选项->设置” 在偏好。sublime-settings-User add "esversion": 6


当您开始使用ECMAScript 6时,此错误由您的IDE抛出。

有两种选择:

如果您只有一个文件,并且想使用es6,那么只需在文件顶部添加下面的行。

/*jshint esversion: 6 */

或者如果你有很多js文件,或者你正在使用任何框架(如nodejs express),你可以在根目录下创建一个名为.jshintrc的新文件,并在文件中添加以下代码:

{
    "esversion": 6
}

如果你想在每个项目中使用es6版本,你可以配置你的IDE。


如果你正在使用Webstorm,如果你没有自己的配置文件,那么就启用EcmaScript。下一个在放松选项在

设置|语言和框架| JavaScript |代码质量工具| JSHint

请参阅此问题“我如何解决这些jshint - es6错误”


如果您使用的是Grunt配置,您需要执行以下步骤

Jshint警告信息:

解决方案:

设置jshint选项并映射. jshintc .js文件

在该文件中创建.jshintrc.js文件,并添加以下代码

{  
  "esversion": 6  
} 

配置后,再次运行它将跳过警告,


在你的包裹里。你可以告诉Jshint像这样使用es6

"jshintConfig":{
    "esversion": 6 
}

在Dreamweaver的新版本中解决了这个错误

进入“编辑->首选项->检测” 和go-to js Edit规则集 和过去的 " jshintConfig ": { “esversion”:6 }


对于Mac上的SublimeText 3:

在根目录(或任何你喜欢的地方)创建一个.jshintrc文件,并指定esversion:

    # .jshintrc
    {
      "esversion": 6
    }

引用刚刚在升华用户设置中创建的文件的pwd (Sublime Text > Preference > Package Settings > Sublime elinter > Settings)

    // SublimeLinter Settings - User
    {
      "linters": {
        "jshint": {
          "args": ["--config", "/Users/[your_username]/.jshintrc"]
        }
      }
    }

退出并重新启动SublimeText


这是我发现的一个简单的解决方案,它将解决我所有的项目,在windows上,如果你的项目在c:目录中的某个地方,创建新文件.jshintrc并将其保存在c目录中,打开这个.jshintrc文件并写入{"esversion": 6},就是这样。警告应该消失,同样将工作在d目录

是的,你也可以通过在你的项目根目录下创建一个.jshintrc文件并添加{"esversion": 6}来为特定的项目启用这个设置。


在根目录下创建.jshintrc文件,并在那里添加最新的js版本:"esversion": 9和asi版本:"asi": true(这将帮助你避免使用分号)

{
    "esversion": 9,
    "asi": true
}

要在Dreamweaver CC 2018中修复此问题,我转到 偏好, 编辑规则集-选择JS 编辑/应用的变化, 找到“esnext”并将false设置更改为true。 经过几个小时的研究,这个方法对我很有效。希望它能帮助别人。


不需要创建.jshintrc文件。

如果你正在使用ECMAScript 6,那么你所需要做的就是告诉JSHint:

进入“文件>设置” 导航到语言和框架> JavaScript >代码质量工具> JSHint。 向下滚动可以找到有关与指定ECMAScript版本不兼容的警告。 单击Set。 输入“6”,按[Set]。 单击[确定]


我也遇到了同样的问题,我发现通过添加:

/* jshint esversion: 8 */

(或者你需要的任何jshint esversion,比如6)

我的.js文件的顶部满足了警告的原因。