【问题标题】:Eslint inline comment to allow double quotes in javascript fileEslint 内联注释以允许在 javascript 文件中使用双引号
【发布时间】:2016-05-11 20:23:22
【问题描述】:

我在 javascript 文件中有一些存根 json 数据。我想将其保留为带双引号的有效 JSON。 Eslint 需要在 javascript 文件中使用单引号,我不想在全局范围内更改该规则。

如何告诉 eslint inline 允许在给定代码块内使用双引号,而不在每行末尾放置 //eslint-disable-line

我尝试将以下内容放在文件顶部但没有成功:

/*eslint quotes: [2, "double"]*/
var sampleData = [
  {"id": 1, "name": "foo"},
  {"id": 2, "name": "bar"},
    ...
];

即使它确实有效,我只想处理包含双引号的代码块中的双引号,而不是整个文件。

【问题讨论】:

  • 如果周围有其他代码,则不是 JSON... 在这种情况下,lint 是正确的:在对象文字上使用单引号。此外,如果这是您做出的选择,那您为什么不能简单地忽略该建议? lint 不是验证器,它用于捕捉编码错误和歧义,以及其他你不想写的东西。
  • @dandavis 无论如何,我如何告诉 eslint 忽略该代码块?我经常从 JSON 文件中复制数据。与其进行大量查找和替换,我更愿意使用从有效 JSON 文档中复制的数据。
  • afaik,您无法更改代码块的选项。您可以在代码中从 JSON 导入数据。或者,正如 lint 文档所述:“如果您不需要字符串样式的一致性,则可以安全地禁用此规则。”...听起来您不需要/想要一致性...
  • 目前不支持此用例,但我们有一个问题可以讨论:github.com/eslint/eslint/issues/1766
  • 谢谢,@Gyandeep。很高兴知道。

标签: javascript json eslint


【解决方案1】:

您可以通过在块之前放置禁用规则并在其后再次启用块来禁用块的某些规则:

/* eslint-disable no-alert, no-console */
var sampleData = [
  {"id": 1, "name": "foo"},
  {"id": 2, "name": "bar"},
    ...
];
/* eslint-enable no-alert, no-console */

【讨论】:

    【解决方案2】:

    有时找到一个特定的语法来禁止特定的 eslint 规则是很麻烦的。在这种情况下,您可以对代码块使用“全局”禁用,如下所示:

    /*eslint-disable */
    
    const sampleData = [
      {"id": 1, "name": "foo"},
      {"id": 2, "name": "bar"},
        ...
    ];
    
    /*eslint-enable */
    

    【讨论】:

      猜你喜欢
      • 2017-03-20
      • 2018-03-02
      • 2021-07-02
      • 2017-04-14
      • 2016-01-01
      • 2012-05-07
      • 2014-03-12
      • 1970-01-01
      • 2020-08-01
      相关资源
      最近更新 更多