如何禁用vue.js <template>中段落的eslint规则最大行长度?

时间:2018-05-22 13:14:15

标签: javascript vue.js vuejs2 eslint airbnb

我正在使用airbnb eslint,目前我收到错误:

  

错误:第6行超过最大行长度100(max-len)at   路径/到/ file.vue:6:1:

<template lang="pug">
  div
    .container
      .row
        .col-xl-10.mx-auto
          p Please let us know how you got here, and use the header buttons to navigate back to safe harbor.
</template>

有没有办法为上面的段落文本禁用lint?
另外,如何将线长从100增加到120?

5 个答案:

答案 0 :(得分:12)

AFAIK,无法将eslint规则应用于模板,特别是模板中的一行。我希望被证明是错误的。

无论如何,因为我有一个包含大量文字的文件,为了解决这个问题,我在'max-len': ["error", { "code": 120 }],文件中添加了这条规则.eslintrc.js

这是结构(删除了其他设置)

module.exports {
  rules: {
    'max-len': ["error", { "code": 120 }]
  }
}

答案 1 :(得分:6)

这将禁用整个模板标签的规则。 Official ES Lint docs on disabling rules

<template>
  <!-- eslint-disable max-len -->
  ...

编辑:如果要改为禁用所有.vue文件的行长规则,则将其添加到.eslintrc.js(这还将禁用<script><style>标签的规则) :

module.exports = {
  ...
  overrides: [
    {
      files: ["*.vue"],
      rules: {
        ...
        'max-len': 'off' // disables line length check
      }
    }
  ]
};

答案 2 :(得分:3)

对于eslint-plugin-vue> = 4.1.0,您可以使用指令注释来禁用eslint。

https://github.com/vuejs/eslint-plugin-vue/commit/ad84e0ba6d81f24583e65fc70b1d9803d73d3ed9

<template>
  <!-- eslint-disable-next-line vue/max-attributes-per-line -->
  <div a="1" b="2" c="3" d="4">
  </div>
</template>

答案 3 :(得分:1)

您可以将其添加到您的ESLint规则中:

rules: {
  "vue/max-attributes-per-line": "off"
}

这对我有用(即使我更愿意为我的项目设置)。
如果需要,您可以找到更多信息here

答案 4 :(得分:1)

您可以禁用 max-len 并将 vue/max-len"template": 9000 之类的东西一起使用。一个例子:

"overrides": [
    {
      "files": [
        "*.vue"
      ],
      "rules": {
        "max-len": "off",
        "vue/max-len": [
          "error",
          {
            "code": 120,
            "template": 9000,
            "ignoreTemplateLiterals": true,
            "ignoreUrls": true,
            "ignoreStrings": true
          }
        ]
      }
    }
  ]

通过这种方式,您只能为组件的 <template></template> 部分禁用规则。