使用Prettier在Vue模板中保留垂直空格

时间:2018-11-13 02:56:20

标签: vue.js eslint prettier

我在Vue项目中使用eslint-plugin-vue

我有以下.prettierrc文件:

// /.prettierrc
{
  "arrowParens": "avoid",
  "bracketSpacing": true,
  "insertPragma": false,
  "jsxBracketSameLine": false,
  "printWidth": 80,
  "proseWrap": "preserve",
  "requirePragma": false,
  "semi": false,
  "singleQuote": true,
  "tabWidth": 2,
  "trailingComma": "es5",
  "useTabs": false
}

以及以下.eslintrc.js文件:

module.exports = {
  root: true,
  env: {
    node: true,
  },
  extends: [
    'plugin:vue/recommended',
    '@vue/prettier',
  ],
  rules: {
    'linebreak-style': ['error', 'unix'],
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'vue/max-attributes-per-line': 'off',
    'vue/html-self-closing': [
      'error',
      {
        html: {
          void: 'always',
          normal: 'always',
          component: 'always',
        },
        svg: 'always',
        math: 'always',
      },
    ],
  },
  plugins: ['vue'],
  parserOptions: {
    parser: 'babel-eslint',
  },
}

但是不幸的是,更漂亮的认为

<template>
  <header><a href="/" class="logo"> Home </a></header>
</template>

比...漂亮

<template>
  <header>
    <a href="/" class="logo">
      Home
    </a>
  </header>
</template>

Prettier being annoying


如何告诉漂亮的人在Vue模板中保留垂直空白?

是否有与我想要的规则相似的规则?

2 个答案:

答案 0 :(得分:0)

以下是eslint中vue的规则列表:https://vuejs.github.io/eslint-plugin-vue/rules/ 但是,如果您禁用规则,则该规则将应用于您的所有代码。

此外,似乎您可以告诉Prettier忽略一个块:https://prettier.io/docs/en/ignore.html#html

此外,我认为这更“可读”,但这是我的观点:)

<template>
  <header>
    <a href="/" class="logo">Home</a>
  </header>
</template>

答案 1 :(得分:0)

您唯一的选择(解决方法)是使用忽略。

Ex Js文件。 // prettier-ignore
前HTML文件。 <!-- prettier-ignore -->

https://prettier.io/docs/en/ignore.html