【问题标题】:Preserve vertical whitespace in Vue template with Prettier使用 Prettier 在 Vue 模板中保留垂直空格
【发布时间】:2019-04-15 19:41:45
【问题描述】:

我在我的 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',
  },
}

但不幸的是,prettier 认为

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

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


如何告诉 prettier 在 Vue 模板中保留垂直空白?

有没有类似我想要的规则?

【问题讨论】:

    标签: vue.js eslint prettier


    【解决方案1】:

    这里是 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>
    

    【讨论】:

      【解决方案2】:

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

      Ex Js 文件。 // prettier-ignore
      例如 Html 文件。 &lt;!-- prettier-ignore --&gt;

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-12-23
        • 1970-01-01
        • 2021-11-02
        • 2018-10-07
        • 2019-05-22
        • 2022-12-03
        • 1970-01-01
        • 2020-05-14
        相关资源
        最近更新 更多