์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง ํ๊ณ
- app router emotion
- ๋ฐฑ์ค 2108 nodejs
- suspense ๋น๋๊ธฐ
- ๋ฐฑ์ค 2108 ์๋ฐ์คํฌ๋ฆฝํธ
- ํ๋ก๊ทธ๋๋จธ์ค ๋ฌธ์์ด ์์ถ
- ์ค์ฝํ
- emotion RSC
- ์ต์ ๋์ฒด์ด๋
- ๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง
- suspense ๋ณ๋ชฉํ์
- suspense react-query
- TypeError: createContext only works in Client Components. Add the "use client" directive at the top of the file to use it. Read more:
- ๊ตฌ๋ฆํค
- ์๋ฐ์คํฌ๋ฆฝํธ ์ค์ฝํ
- ๋ฐฑ์ค 1339๋ฒ nodejs
- ์ฌ์ฉ์ฑ ๊ฐ์
- ๋ฐฑ์ค 1339๋ฒ ์๋ฐ์คํฌ๋ฆฝํธ
- ์นด์นด์ค ์ฝํ
- ๋ฆฌ์กํธ์ฟผ๋ฆฌ suspense
- suspense ๋์์๋ฆฌ
- js ์ค์ฝํ
- js ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- emtion app router
- ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ์์ด ์์ถ
- ๋ฐฑ์ค 1339๋ฒ js
- js ๋ฌธ์์ด ์์ถ
- ํ๋ก๊ทธ๋๋จธ์ค ๊ฑฐ๋ฆฌ๋๊ธฐ ํ์ธํ๊ธฐ
- js
- next13 emotion
- Today
- Total
Lennon FE
[์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์ปจ๋ฒค์ ] ESLint, Prettier, airbnb style guide๋ก ์ค์ ํ๊ธฐ ๋ณธ๋ฌธ
[์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์ปจ๋ฒค์ ] ESLint, Prettier, airbnb style guide๋ก ์ค์ ํ๊ธฐ
Lennon 2021. 12. 8. 21:22ESLint
๊ฐ๋จํ ๋งํ์๋ฉด ์์ค์ฝ๋๋ฅผ ๋ถ์ํด ์๋ฌ ๋ฐ ๋ฒ๊ทธ๋ฅผ ๋ณด๊ณ ํด์ฃผ๋ ๋๊ตฌ์ด๋ค.
Prettier
๋ณธ๋ ์คํ์ผ ๋์ ๊ท์น์ ์ ํด ๊ท์น๋๋ก ๋ค์ ์์ฑํด ์ฃผ๋ ๊ฒ์ด๋ค.
์ข์ ์ฝ๋ ์ปจ๋ฒค์ ์ ์งํค๊ธฐ์ํด ํ ๋ฒ ์ ์ฉํด๋ณด์.
1. ์ฐ์ vscode์ ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก ESLint, Prettier ๋ ๊ฐ๋ฅผ ์ค์นํ์.
2. ํฐ๋ฏธ๋์์ ๋ณธ์ธ์ ํ๋ก์ ํธ์ ๋ค์ด๊ฐ eslint์ prettier์ ์ค์นํ์.
2-1. eslint ์ค์น
$ npm install eslint --save-dev
2-2. prettier ์ค์น
$ npm install prettier --save-dev --save-exact
2-3. eslint์ prettier์ ์ถฉ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค์น
$ npm install eslint-plugin-prettier eslint-config-prettier --save-dev
2-4. airbnb style ์ค์น
$ npm install eslint-config-airbnb --save-dev
ํ๋ก์ ํธ ํด๋์ package.jsonํ์ผ์ "devDependencies"๋ฅผ ํ์ธํด๋ณด์.
์ด๋ ๊ฒ ๋์ด ์๋ค๋ฉด ์ค์ ์ ์ ๋ง๋ฌด๋ฆฌ ํ ๊ฒ์ด๋ค. ๋ค์ ์ ์ฐจ๋ฅผ ๋ฐ์๋ณด์.
๋ง์ฝ package.json์ด ์๋ค๋ฉด
ํฐ๋ฏธ๋์ npm init์ ์์ฑํด ํ๋ก์ ํธ ํด๋์ ์์ฑํด์ค๋ค.
3. vscode ์ธํ
setting.json์ ์์ ํด์ผํ๋ค. ํ ๋ฒ ๋ค์ด๊ฐ๋ณด์.
Windows: Ctrl + , ์ธ ํค๋ฅผ ํจ๊ป ๋๋ฅธ๋ค.
Mac: Cmd + , ์ธ ํค๋ฅผ ํจ๊ป ๋๋ฅธ๋ค.
๊ทธ๋ฌ๋ฉด ํด๋น ํ๋ฉด์ด ๋ฐ ๊ฒ์ด๋ค. ๋นจ๊ฐ์์ผ๋ก ํ์๋ ๋ฒํผ์ ๋๋ฌ setting.json์ ์ ๊ทผํ์.
setting.json์ ํด๋น ์ฝ๋๋ฅผ ์ ๋ ฅํ์.
{
// Set the default
"editor.formatOnSave": false,
// Enable per-language
"[javascript]": {
"editor.formatOnSave": true
},
"editor.codeActionsOnSave": {
// For ESLint
"source.fixAll.eslint": true
}
}
vscode ํ๋ก์ ํธ ํด๋ ์ต์๋จ์ .eslintrc.json ํ์ผ์ ์์ฑํ ํ ํด๋น ์ฝ๋์ ์ ๋ ฅํ์
{
"env": {
"browser": true,
"node": true,
"useTabs": true
},
"plugins": ["prettier"],
"extends": [
"eslint:recommended",
"plugin:prettier/recommended",
"airbnb-base"
],
"rules": {
"prettier/prettier": "error"
}
}
vscode ํ๋ก์ ํธ ํด๋ ์ต์๋จ์ .prettierrc.json ํ์ผ์ ์์ฑํ ํ ํด๋น ์ฝ๋๋ฅผ ์ ๋ ฅํ์.
{
"trailingComma": "es5",
"tabWidth": 2,
"semi": true,
"singleQuote": true
}
์ด์ js๋ฅผ ์๋ฌด๋ ๊ฒ๋ ์ ๋ ฅํ์ฑ ์ ์ฅ์ ํ๋ฉด ์์์ ์ฝ๋ ์ปจ๋ฒค์ ์ ์ง์ผ์ค ๊ฒ์ด๋ค!
์ธ์ธํ ์ค์ ์ ์๋ ๋งํฌ์์ ํ์ธํด๋ณด๋ก ํ์!
https://eslint.org/docs/rules/
'๐งโ๐ป Web > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด ์๊ฐ ๋ณต์ก๋ (0) | 2022.01.28 |
---|---|
[JS] ๋ณ์์ ์ข ๋ฅ์ ์ฐ์์ - var, let, const (0) | 2022.01.22 |
[JS] ์ค์ฝํ(2) - ์ค์ฝํ ์ฒด์ธ, ํจ์ ๋ ๋ฒจ ์ค์ฝํ, ๋ ์์ปฌ ์ค์ฝํ (0) | 2021.11.27 |
[JS] ์ค์ฝํ(1) - ์ ์ญ, ์ง์ญ ์ค์ฝํ์ ๋ํด (0) | 2021.11.26 |
[JS] ์ฐธ์กฐ์ ์ํ ์ ๋ฌ - ๊น์ ๋ณต์ฌ์ ์์ ๋ณต์ฌ (0) | 2021.11.25 |