以下のサイト(Nuxt.jsの公式サイト)
https://ja.nuxtjs.org/guide/development-tools/
の手順をもとに、eslintおよびprettierを利用できる環境を以下の手順で構築しようとしました。
①npmでeslintとprettierパッケージを以下のコマンド入力によってインストールする
npm install --save-dev babel-eslint eslint eslint-config-prettier eslint-loader eslint-plugin-vue eslint-plugin-prettier prettier
何のエラーもなくインストールできました。
②.eslintrc.js ファイルをプロジェクトのルートディレクトにつくって公式サイトどおり ESLint を設定する
module.exports = { root: true, env: { browser: true, node: true }, parserOptions: { parser: 'babel-eslint' }, extends: [ 'eslint:recommended', // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention // より厳しいルールにするには`plugin:vue/strongly-recommended` もしくは `plugin:vue/recommended` に切り替えることを検討してください。 'plugin:vue/recommended', 'plugin:prettier/recommended' ], // *.vue ファイルを lint にかけるために必要 plugins: [ 'vue' ], // ここにカスタムルールを追加します。 rules: { 'semi': [2, 'never'], 'no-console': 'off', 'vue/max-attributes-per-line': 'off', 'prettier/prettier': ['error', { 'semi': false }] } }
コピペのため、コード上に問題ないと考えます。
③lint と lintfix スクリプトを package.json に追加する
package.json
1"scripts": { 2 "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", 3 "lintfix": "eslint --fix --ext .js,.vue --ignore-path .gitignore ." 4}
コピペのため、コード上に問題ないと考えます。
④以下のコードを実行し、挙動を確認する
npm run lint
npm run lintfix
⑤nuxt.config.jsに以下の通り、記述する。
nuxt.config.js
1 build: { 2............ 3........... 4............ 5 extend(config, ctx) { 6 // Run ESLint on save 7 if (ctx.isDev && ctx.isClient) { 8 config.module.rules.push({ 9 enforce: "pre", 10 test: /.(js|vue)$/, 11 loader: "eslint-loader", 12 exclude: /(node_modules)/ 13 }) 14 } 15 } 16 }
なにも実行しなくともデフォルトで
keyword 'export' is not defined..
とコンソール上に出てしまう
バージョン情報
"nuxt": "^2.0.0",
"babel-eslint": "^10.0.3",
"eslint": "^6.8.0",
"eslint-config-prettier": "^6.7.0",
"eslint-loader": "^3.0.3",
"eslint-plugin-prettier": "^3.1.2",
"eslint-plugin-vue": "^6.0.1",
"prettier": "^1.19.1",
macOS 10.14.2
回答1件
あなたの回答
tips
プレビュー