如果我使用const,为什么JSHint会发出警告?

2020/10/03 04:41 · javascript ·  · 0评论

这是我在使用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
}

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

{
    "esversion": 6
}

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

使用导出语句时,我得到了同样的警告。我正在使用VS Code,并使用了类似的方法来解决Wenwen Jiang的问题。

  1. 用户设置

  2. JSHint配置

  3. "jshint.options": {} (编辑)

  4. 指定时使用双引号"esversion"

    或将此代码段复制到“用户设置”中:

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

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

如果您使用的是VSCode:

1。

  • 转到首选项->设置cmd + ,
  • 输入jshint.options到搜索栏
  • 将鼠标悬停在上面,然后单击铅笔图标
  • 现在将其附加在右侧。
  • 添加"esversion": 6到选项对象。

2。

或者只是将其添加到您的用户设置中:

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

[更新]新的vscode设置

  • 转到首选项->设置cmd + ,
  • 输入jshint搜索

VSCode设置

  • 继续步骤 2.

我花了很长时间试图解决这个问题。每个解决方案都在谈论“设置选项”。我不知道那是什么意思 终于,我明白了。您可以仅在文件顶部添加注释掉的行/*jshint esversion: 6 */

解

您可以在jshint选项对象内指定esversion:6请看图片。我正在使用grunt-contrib-jshint插件。

在此处输入图片说明

当您开始使用ECMAScript 6时,IDE会引发此错误。

有两个选项:

如果您只有一个文件并且要使用es6,则只需在文件顶部添加以下行。

/*jshint esversion: 6 */

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

{
    "esversion": 6
}

如果要对每个项目使用es6版本以上,则可以配置IDE。

在您的package.json中,您可以告诉Jshint这样使用es6

"jshintConfig":{
    "esversion": 6 
}

.jshintrc目录中创建文件,在其中添加最新的js版本:"esversion": 6和asi版本:("asi": true它将帮助您避免使用分号)

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

如果您使用的是Webstorm,并且没有自己的配置文件,则只需EcmaScript.next

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

看到这个问题如何解决这些JSHint-ES6错误

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

Jshint中的警告消息:

在此处输入图片说明

解:

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

在此处输入图片说明

  1. 在该文件中创建.jshintrc.js文件,添加以下代码
{  
  “ esversion”:6  
} 

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

在此处输入图片说明

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

然后使用以下命令行调用jshint:

jshint --config jshint_opts lib / *。js

对于Mac上的SublimeText 3:

  1. 在根目录(或您喜欢的任何位置)中创建一个.jshintrc文件,并指定esversion:
    # .jshintrc
    {
      "esversion": 6
    }
  1. 引用刚刚在SublimeLinter用户设置中创建的文件的pwd(“ SublimeText”>“首选项”>“包设置”>“ SublimeLinter”>“设置”)
    // SublimeLinter Settings - User
    {
      "linters": {
        "jshint": {
          "args": ["--config", "/Users/[your_username]/.jshintrc"]
        }
      }
    }
  1. 退出并重新启动SublimeText

2020年5月这是我找到的一个简单解决方案,它将在Windows上为我的所有项目解决,如果您的项目位于c:目录中,请创建新文件.jshintrc并将其保存在C目录中,打开此.jshintrc文件并编写{ "esversion": 6},这就是它。警告应该消失,同样会在d目录中工作

在此处输入图片说明

在此处输入图片说明
是的,您还可以仅通过在项目的根目录中创建一个.jshintrc文件并添加来对特定项目启用此设置
{ "esversion": 6}

要在Dreamweaver CC 2018中解决此问题,我转到了首选项,编辑规则集-选择JS,编辑/应用更改,找到“ esnext”,然后将false设置更改为true。经过数小时的研究,它对我有用。希望它对别人有帮助。

如果使用Sublime Text 3:

  • 转到首选项->设置
  • Preferences.sublime-settings下-用户添加“ esversion”:6

在新版本的Dreamweaver中解决此错误

  • 转到编辑->首选项->抹布
  • 以及js编辑规则集和过去

    “ jshintConfig”:{“ esversion”:6}

本文地址:http://javascript.askforanswer.com/ruguowoshiyongconstweishenmejshinthuifachujinggao.html
文章标签: ,   ,   ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!