5. Parcel & ESLint
Parcel
๋น๋๋๊ตฌ, ๋ฒ๋ค๋ฌ
Zero Configuration
ํน๋ณํ ์ค์ ์์ด ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๋น๋ ๋๊ตฌ. ๋ด๋ถ์ ์ผ๋ก SWC๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด ๋๊ตฌ๋ณด๋ค ๋น ๋ฅด๋ค.(ESModule)
์ค์ ์ด ํ์ ์๋คํ์ง๋ง ๋๊ฐ์ง๋ ํด์ค์ผ ํจ.
package source ์ค์
// package.json
"source": "./index.html",
์์ฒ๋ผ ์ธํ ์ํด์ฃผ๋ฉด npx parcel index.html๋ก ๋ฒ๋ค๋ง ํด์ค์ผํจ,
npx parcel index.html --port 8080 ํด์ค์ผํจ.
static file.
ํ๋ก์ ํธ ๋ด๋ถ ํด๋์ ์ด๋ฏธ์ง๋ฅผ ๋ฃ๊ณ
<img src="/images/images.jpeg" alt="test image" />
์ด๋ ๊ฒ ๊ฐ์ ธ์๋ ์ด๋ฏธ์ง๊ฐ ๋์ค์ง ์๋๋ค.
parcel-reporter-static-files-copy๋ฅผ ์ค์นํ๊ณ ์ค์ ํด์ค์ผ
static ํด๋์ ํ์ผ์ ์ ์ ํ์ผ๋ก Servingํ ์ ์๋ค(์ด๋ฏธ์ง ๋ฑ Assets).
npm i -D parcel-reporter-static-files-copy
// .parcelrc
{
"extends": ["@parcel/config-default"],
"reporters": ["...", "parcel-reporter-static-files-copy"]
}
๊ทธ๋ฆฌ๊ณ static
ํด๋๋ฅผ ๋ง๋ค๊ณ images/image.jpeg
๋ฅผ ์์ผ๋ก ์ฎ๊ฒจ์ค๋ค.
์บ์๋ ๋ฆฌ๊ณ ์๋ก๊ณ ์นจํ๋ฉด ์ด๋ฏธ์ง ๋์ด.
๋ฐฐํฌํ๊ณ ์ถ๋ค
npm run build //start๋ง ํด๋ dist ์๊น.
// npx parcel build ํด๋๋จ package์ค์ ์ํ์ผ๋ฉด
๋น๋ํ dist ๋ก ๋ฐฐํฌํ๋ค.
cd dist
npx servor // zero configuration server
lint ๋ฌด์์ ์ํด์?
์คํ์ผ ํต์ผ
์ ์ฌ์ ๋ฌธ์ ๋ฐ๊ฒฌ
๋ฒ ์คํธ ํ๋ํฐ์ค ์ถ์ฒ โ ์ต์ ํธ๋ ๋๋ฅผ ํ์ตํ๋๋ฐ ํ์ฉํ ์ ์๋ค.
.vscode/settings.jsonํ์ผ์ ์ถ๊ฐํด JS/TS ํ์ผ์ ์ ์ฅํ ๋๋ง๋ค ESLint๋ฅผ ์คํํ๊ณ ๋ฌธ์ ์ ์ ๊ณ ์น๊ฒ ์ค์ ํ ์ ์๋ค.
{
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
}
์์ฌ์ ๊ธฐ๋ณธ์ธํ
{
"editor.rulers": [
80
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"trailing-spaces.trimOnSave": true
}
npm run check //ํ์
์คํฌ๋ฆฝํธ ์ปดํ์ผ ํ๋ฉด์ ๋ฌธ์ ๋๋๊ฑฐ ์ก๊ณ
npm run lint //๋ฆฐํ
~
ํ๋์ง๋ฆฌ ์คํฌ๋ฆฝํธ๋ก ๋ง๋ค์ด๋๋จ (๋น์ฐ; ;)
Last updated