๋ฐ์ํ
๐ฅ ESLint ๋?
ES + Lint
์์ค ์ฝ๋๋ฅผ ์์ฑํ๋ฉด์ ์๊ธธ ์ ์๋ ์ค๋ฅ(Error)๋ฅผ ์๋์ผ๋ก ๋ถ์ํด์ฃผ๋ ๋๊ตฌ์ด๋ค.
- ES : Ecma Script.
Ecma๋ผ๋ ๊ธฐ๊ตฌ์์ ๋ง๋ Script. ์ฆ, ํ์ค Javascript๋ฅผ ์๋ฏธํ๋ค. - Lint : ์๋ฌ๊ฐ ์๋ ์ฝ๋์ ํ์๋ฅผ ๋ฌ์๋๋ ๊ฒ์ ์๋ฏธํ๋ค.
๐๐ป ์ค์น ๋ฐฉ๋ฒ
๐ฅ Prettier ์ด๋?
Visual Studio Code Extention์ผ๋ก ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ์๋์ผ๋ก ์ฝ๋ ์คํ์ผ์ ์ ๋ฆฌ ํด์ฃผ๋ ๋๊ตฌ์ด๋ค.
- ์ฝ๋๋ฅผ ์ ์ฅ ์ ์ ํด๋์ ๊ท์น์ ๋ง๊ฒ ์๋์ผ๋ก ์ ๋ ฌํด์ ๊ฐ๋ ์ฑ์ ๋์ด๊ณ ์ฝ๋ ์คํ์ผ์ ํต์ผํ ์ ์๋ค.
- Visual Studio Code Extention ์ค์ ์ฝ๋๋ฅผ ์ ๋ ฌํด ์ฃผ๋ Code Formatter ์ค ํ๋์ด๋ค.
๐๐ป ์ค์น ๋ฐฉ๋ฒ
๐๐ป Setting Guide
์ธํ ๋ฒ์ ํ๋ง๋ค ๋ค๋ฅด๋ค!
{
"singleQuote": true, // ๋ฐ์ดํ ๊ณ ์
"semi": true, // ์ฝ๋ ๋์ ; ์ค์
"useTabs": false, // Tap ์ฌ์ฉ์ฌ๋ถ
"tabWidth": 2, // Tap ํฌ๊ธฐ
"trailingComma": "all", // ๊ฐ์ฒด ๋ ๋ถ๋ถ์๋ ์ฝค๋ง(comma) ์ถ๊ฐ
"printWidth": 100 // ์ค ๋น max length
}
๐ฅ Team Setting
์ฐ๋ฆฌ ํ์ ์ด๋ ๊ฒ ํ์ธํ ์ ์งํํ๋ค!
๐๐ป .vscode/settings.json
{
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.tabSize": 2,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true,
},
"javascript.format.enable": false,
"eslint.alwaysShowStatus": true,
"files.autoSave": "onFocusChange"
}
๐๐ป .eslintrc (ESLint๊ณผ Prettier๋ฅผ ์ฐ๊ฒฐ)
{
"extends": ["react-app", "plugin:prettier/recommended"]
}
๐๐ป .prettierrc
{
"tabWidth": 2,
"endOfLine": "lf",
"arrowParens": "avoid",
"singleQuote": true,
}
๋ฐ์ํ
'์ค์น&์ธํ ๋ฒ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
vue/cli ์ค์นํ ๋ ERROR (0) | 2021.12.21 |
---|---|
AirPods -> MacBook์ ์ฐ๊ฒฐํ๊ธฐ (0) | 2021.12.14 |
go: modules disabled by GO111MODULE=off; see 'go help modules' (0) | 2021.11.05 |
[Git] ERROR: Repository not found (0) | 2021.11.05 |
[Golang] cannot find package (from $GOROOT) (from $GOPATH) (0) | 2021.10.29 |
๋๊ธ