質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

ESLint

ESLintは、JavaScriptのための構文チェックツール。全検証ルールを自由に on/offでき、独自のプロジェクトに合わせたカスタムルールを容易に設定することが可能。公開されている様々なプラグインを組み込んで使用することもできます。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

Q&A

解決済

1回答

5071閲覧

矛盾した?eslintのルールを解決したい

kkmts

総合スコア7

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

ESLint

ESLintは、JavaScriptのための構文チェックツール。全検証ルールを自由に on/offでき、独自のプロジェクトに合わせたカスタムルールを容易に設定することが可能。公開されている様々なプラグインを組み込んで使用することもできます。

Nuxt.js

Nuxt.jsは、ユニバーサルなSPAが開発可能なVue.jsベースのフレームワーク。UIの描画サポートに特化しており、SSRにおけるサーバーサイドとクライアントサイドのUIレンダリングなどさまざまな機能を持ちます。

0グッド

1クリップ

投稿2020/11/13 04:41

eslintのルール設定

現在、Nuxt.jsを用いて開発をしています。
eslintを導入しているのですが、そこで下記のような状況が発生しています。

発生していること

SFCファイルのテンプレート部に以下のような部分があります。

<template> ...中略 <div class="hoge">タイトル</div> </template>

このdivタグの「タイトル」という部分に黄色いニョロニョロが出て、

Expected 1 line break after opening tag (`<div>`), but no line breaks found.eslint(vue/singleline-html-element-content-newline) Expected 1 line break before closing tag (`</div>`), but no line breaks found.eslint(vue/singleline-html-element-content-newline)

というeslintの warn が表示されています。
これはdivタグで囲むなら改行してねみたいなことだと思うのですが、

<template> ...中略 <div class="hoge"> タイトル </div> </template>

のようにすると今度は

Replace `⏎············内容⏎··········` with `内容`eslint(prettier/prettier)

という error が出ます。
こっちは120文字にみたないから1行で!みたいなことですよね・・・?

前者の方はwarnなので、前者のようにすれば一応問題はないのですが、こういった黄色いニョロニョロが各所に出現するのがとても気になります。
こちらを解消する方法はありますでしょうか?ご教示頂けると幸いです。

設定など

他にも必要なファイルや情報があればご指摘お願いいたします。

  • 使用エディタ: VSCode
  • .eslintrc.js
module.exports = { root: true, env: { browser: true, node: true }, extends: ['@nuxtjs/eslint-config-typescript', 'plugin:prettier/recommended', 'eslint:recommended'], plugins: ['prettier'], // add your custom rules here rules: { 'no-console': 'off', 'vue/max-attributes-per-line': 'off', 'dot-notation': 'off', '@typescript-eslint/ban-ts-ignore': 'off', 'vue/html-self-closing': [ 'error', { html: { void: 'always' } } ] } }
  • .prettierrc
{ "semi": false, "singleQuote": true, "trailingComma": "none", "arrowParens": "avoid", "printWidth": 120 }
  • package.json
{ "devDependencies": { "@nuxt/types": "^2.14.6", "@nuxt/typescript-build": "^2.0.3", "@nuxtjs/dotenv": "^1.4.1", "@nuxtjs/eslint-config": "^3.1.0", "@nuxtjs/eslint-config-typescript": "^3.0.0", "@nuxtjs/eslint-module": "^2.0.0", "@nuxtjs/vuetify": "^1.11.2", "@vue/test-utils": "^1.1.0", "babel-core": "7.0.0-bridge.0", "babel-eslint": "^10.1.0", "babel-jest": "^26.5.0", "eslint": "^7.10.0", "eslint-config-prettier": "^6.12.0", "eslint-plugin-nuxt": "^1.0.0", "eslint-plugin-prettier": "^3.1.4", "jest": "^26.5.0", "prettier": "^2.1.2", "ts-jest": "^26.4.1", "vue-jest": "^3.0.4" } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

.eslintrc.jsのrulesに、

JSON

1 'vue/singleline-html-element-content-newline': ['error', { 2 'ignores': ['div', 'pre', 'textarea', ...INLINE_ELEMENTS] 3 }]

を追加すれば(直前のデータの末尾に,を忘れずに)、div要素を1行に書いても文句を言わなくなるかと。

eslint-plugin-vue/singleline-html-element-content-newline.md at master · vuejs/eslint-plugin-vue

投稿2020/11/13 05:24

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kkmts

2020/11/13 05:45

ありがとうございます!解決できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問