Nuxt.js에 Pretter ESLint를 올바르게 넣습니다.
네, 그것도 좋아요.
Nuxt.2022/4시 js에 Pretier ESLint를 적절하게 추가하는 방법을 총결하였다.
전제 조건
어쨌든 환경 구축
최종 패키지.json
{
(中略)
"scripts": {
(中略)
"lint:js": "eslint --ext \".js,.vue\" --ignore-path .gitignore .",
"lint:style": "stylelint \"**/*.{vue,css}\" --ignore-path .gitignore",
"lint": "yarn lint:js && yarn lint:style"
},
"dependencies": {
"@nuxtjs/eslint-module": "^3.0.2",
"@nuxtjs/stylelint-module": "^4.1.0",
"nuxt": "^2.15.8"
},
"devDependencies": {
"@babel/eslint-parser": "^7.16.3",
"@nuxtjs/eslint-config": "^8.0.0",
"eslint": "^8.4.1",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-nuxt": "^3.1.0",
"postcss-html": "^1.3.0",
"prettier": "^2.5.1",
"sass": "^1.43.4",
"sass-loader": "^10.2.0",
"stylelint": "^14.1.0",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-recess-order": "^3.0.0",
"stylelint-config-standard-scss": "^3.0.0"
}
}
1. Pretter 설치
yarn add -D prettier
2.ESlint 등의 설치
yarn add @nuxtjs/eslint-module
yarn add -D eslint eslint-config-prettier
@babel/eslint-parser eslint-plugin-nuxt @nuxtjs/eslint-config
3. Styleant 설치 등
공통부분
yarn add @nuxtjs/stylelint-module
yarn add -D stylelint stylelint-config-prettier
다른 부분css 사용 시
yarn add -D stylelint-config-order stylelint-config-standard
scss 사용 시yarn add -D sass sass-loader@^10.2.0
stylelint-config-recess-order stylelint-config-standard-scss
설정
1. ESlight 설정
결국eslintrc.js
module.exports = {
root: true,
env: {
browser: true,
es6: true,
node: true,
},
extends: ['@nuxtjs', 'plugin:nuxt/recommended', 'prettier'],
parserOptions: {
parser: '@babel/eslint-parser',
requireConfigFile: false,
},
plugins: [],
rules: {
semi: [2, 'never'],
'no-unused-vars': 'off',
'no-console': 'off',
'no-sparse-arrays': 'off',
'array-callback-return': 0,
'import/no-named-as-default': 0,
// vue settings
'vue/script-setup-uses-vars': 0,
'vue/attribute-hyphenation': 0,
'vue/no-v-html': 0,
'vue/multi-word-component-names': 0,
// nuxt settings
'nuxt/no-globals-in-created': 0,
'nuxt/no-env-in-hooks': 0,
},
}
1-1. ESLit 자체 설정
개요
최소한 필요한 것은 eslint, @nuxtjs/eslint-config 두 개입니다
@nuxtjs/eslint-config
설정@nuxtjs
!eslint-loader는 추천하지 않습니다.eslint-webpack-plugen으로 대체하세요.
Nuxt에서 @nuxt/[email protected]의 [email protected]@nuxt/eslint-module가 포함되어 있기 때문에 넣으면 OK입니다.
!
이전에는nuxt였다.config.js의build에 다음 내용을 추가했지만 @nuxt/eslint-module 때문에 필요하지 않습니다.
build: {
extend(config, ctx) {
if (ctx.isDev && ctx.isClient) {
config.module.rules.push({
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
})
}
}
}
vue용 설정 파일로 eslint-plugen-nuxt
plugin:nuxt/recommended
로 설정prettier와의 경쟁 규칙을 닫기 위해eslint-config-prettier(마지막으로 설정
prettier
babel용 설정 파일 @babel/eslint-parser
!
babel-eslint는 추천하지 않습니다.@babel/eslint-parser 대신 (eslint@v8해당).
1-2. ESLight 및 Preettier 공동 작업을 위한 설정
먼저 ESLight 및 Preettier를 결합하려면 경쟁 규칙을 해제해야 합니다.
경쟁 규칙을 취소하는 프로그램 라이브러리로서 다음과 같은 두 가지 상황이 자주 발생한다.
eslint-plugin-prettier !
2022/5는 현재 에스링크-plugen-prettier를 추천하지 않습니다.
eslint-config-prettier
{
"extends": ['prettier'] // 末尾に記述する v8.0.0からは 'prettier'のみでOK
}
사용prettier-eslint Preettier에서 ESLight
하지만
prettier-eslint
추천하지 않기 때문에prettier-eslint
작가도 그렇기 때문에 지금은 두 번째 방법이다.2. Styleant 설정
결국stylelintrc.js
module.exports = {
customSyntax: 'postcss-html',
extends: [
'stylelint-config-standard-scss',
'stylelint-config-recess-order',
'stylelint-config-prettier'
],
plugins: [],
ignoreFiles: ['**/node_modules/**', '**/.nuxt/**', '**/dist/**'],
rules: {
'at-rule-no-unknown': false,
'scss/at-rule-no-unknown': true,
'scss/comment-no-empty': null,
'string-quotes': 'single',
'block-no-empty': null,
'number-leading-zero': null,
'color-hex-length': 'short',
'color-no-invalid-hex': true,
indentation: 2,
'length-zero-no-unit': true,
'media-feature-name-no-vendor-prefix': true,
'shorthand-property-no-redundant-values': true,
'no-invalid-position-at-import-rule': null,
'no-irregular-whitespace': null,
'selector-class-pattern': null,
'property-no-unknown': null,
// prettierのインラインスタイルの末尾のコロンを削除するとコンフリクトするため、回避設定
'declaration-block-trailing-semicolon': null,
// ::v-deepエラー回避
'selector-pseudo-class-no-unknown': null
}
}
2-1. stylent 자체 설정
개요
문법 검사 규칙 집합
{
"extends": ["stylelint-config-standard"]
}
{
"extends": ["stylelint-config-recommended"]
}
정렬 규칙 세트
상세한 규칙 설정 방법은여기.
{
"plugins": ['stylelint-order'],
"rules": { 'order/properties-alphabetical-order': true } //ABC順に並べる
}
{
"extends": ['stylelint-config-recess-order']
}
2-2. 스타일링과 프리티어의 협업을 위한 설정
우선 ESLight과 마찬가지로 Preettier와 합작하려면 경쟁 규칙을 닫아야 한다.
stylelint-config-prettier.
사용stylelint-prettier Styleant에서 Pretter
사용prettier-stylelint Pretier에서 Styleant 호출
2022/5는 현재 추천하지 않습니다
stylelint-prettier
.또 prettier-stylelint
도 실행 속도가 느리기 때문에 사용을 권장하지 않는다.ESLin과 마찬가지로 개인적으로는 3번을 추천합니다.Type script 지원
@nuxtjs/eslint-config
@nuxtjs
를 @nuxtjs/eslint-config-typescript
@babel/eslint-parser
를 @typescript-eslint/parser
{
"root": true,
"env": {
"browser": true,
"es6": true,
"node": true,
},
"extends": ["@nuxtjs/eslint-config-typescript", "plugin:nuxt/recommended", "prettier"],
"parserOptions": {
"ecmaVersion": 13,
"parser": "@typescript-eslint/parser",
"requireConfigFile": false,
}
}
덤
settings.json
{
"typescript.format.insertSpaceAfterSemicolonInForStatements": false,
"javascript.format.insertSpaceAfterSemicolonInForStatements": false,
"editor.tabSize": 2,
"editor.hover.enabled": false,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.stylelint": true,
"source.fixAll.eslint": true
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"vetur.format.enable": false,
"editor.guides.bracketPairs": true,
"git.ignoreLimitWarning": true,
"stylelint.validate": ["css", "scss"],
"css.validate": false,
"scss.validate": false
}
Reference
이 문제에 관하여(Nuxt.js에 Pretter ESLint를 올바르게 넣습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/iihara/articles/49e418c43f6792텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)