5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vue/NuxtでESLintを活用(vueスタイルガイド導入編)

Last updated at Posted at 2019-03-10

はじめに

この記事では、ESLintを使って、Vueファイルの監視を設定して行きます。

  1. ひとまず導入編
  1. vueスタイルガイド導入編(vue/recommendの活用) ←本記事
  2. ファイルセーブで自動化編(エディタ自動校正機能)
  3. コミット度にlintを走らせる編(lint-stagedとhuskey)
  4. Circle CIでESLint導入編

ESLintを入れたのであれば、jsファイルだけでなく、せっかくなのでVueファイルも監視してしまいましょう。その設定方法をこの記事では説明して行きます。プロジェクトは前回使用したものを使って行きます。

Vueスタイルガイドとは

Vueスタイルガイドとは、公式で推奨されているVueの書き方ガイドです。ある程度慣れてきたら、ガイドに沿った書き方をすることで、保守性が増したり、可読性が上がったりします。

スクリーンショット 2019-03-09 13.29.56.png

優先度がA~Dまであり、わかりやすく説明されているのでぜひ一度読んでみてください。

確認

まずは確認です。例えば、現状、pages/index.vueを以下のようにスタイルガイドに反した自己終了形式でない書き方をしてもlintで注意されることはありません。

スクリーンショット_2019-03-09_13_34_10.png スクリーンショット 2019-03-09 14.23.13.png

こういったスタイルガイドに反した書き方があれば監視して注意を出してくれるように設定をして行きましょう。

設定

まずは、vueファイルが監視対象となるように設定します。
vue-loadereslint-plugin-vueが必要になります。前回からの続きでしたら既に初期設定で入っているので問題ありません。既存プロジェクトへの導入であれば、以下を参考にインストールしてください。

vue-pluginとvue-loader.png

次に、.eslintrc.jsを編集します。2箇所追加しましょう。


module.exports = {
  root: true,
  env: {
    browser: true,
    node: true
  },
  parserOptions: {
    parser: 'babel-eslint'
  },
  extends: [
    '@nuxtjs',
    'standard',
+   "plugin:vue/recommended"
  ],
+ plugins: [
+   'vue'
+ ],
  // add your custom rules here
  rules: {}
}

"plugin:vue/recommended"とは

まず、extends"plugin:vue/recommended"を追加することで、Vue.js公式で推奨されているスタイルガイドの優先度Cまでをカバーしてくれます。(https://jp.vuejs.org/v2/style-guide/index.html)

extends 優先度カバー範囲
"plugin:vue/essential" 優先度Aまで
"plugin:vue/strongly-recommended" 優先度Bまで
"plugin:vue/recommended" 優先度Cまで

参考:Vue.jsスタイルガイドとeslint-plugin-vue検証ルールのマッピング

ここはお好みでいいと思いますが、せっかくですので私はいつもCまで適応させるために、"plugin:vue/recommended"を利用しています。

"plugins"とは

以下を入れることで、.vueファイルの監視を行っています。

+ plugins: [
+   'vue'
+ ],

この設定がないと、.vueのファイルはlintを走らせても検知してくれません。

検証

では、きちんと.vueファイルも検知してくれてるか確認してみましょう。
ターミナルでnpm run lintを叩いてみましょう。

すると、新しく以下のようなメッセージが出ていると思います。

Lintを走らせてエラーを検知.png

最後に

これで、Lintを使って.vueファイルの検知ができました! :v:
また、Vueのスタイルガイドに沿った開発も行っていけます。

次は、エディタをカスタマイズして、もっと簡単にLint検出と自動校正を行えるようにしましょう!
https://qiita.com/yfujii1127/items/65b04f6e3d17c3eb85da

5
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?