๐ ํ๋ฌ๊ทธ์ธ
Parcel ์ ๋๋ถ๋ถ์ ๋๊ตฌ๋ค๊ณผ๋ ์กฐ๊ธ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ทจํ๊ณ ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ํ๋ฌ๊ทธ์ธ ์ค์น๋ ์ค์ ์์ด ๋ค์ํ ์ผ๋ฐ์ ์ธ ํฌ๋งท์ ์ฆ์ ์ง์ํ ์ ์๋๋ก ํฌํจํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ค์ ์ด์ง ์์ ๋ฐฉ๋ฒ์ผ๋ก Parcel ์ ํ์ฅํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์์๊ฒ์ด๋ฉฐ, ๊ทธ๋ฐ ๊ฒฝ์ฐ๋ฅผ ์ํด ํ๋ฌ๊ทธ์ธ์ด ์ง์๋ฉ๋๋ค. ์ค์น๋ ํ๋ฌ๊ทธ์ธ์ package.json
์์กด์ฑ(dependencies)์ ๊ธฐ๋ฐ์ผ๋ก ์๋ ๊ฐ์ง๋๊ณ ๋ก๋๋ฉ๋๋ค.
์๋ก์ด ํ์ผ ํฌ๋งท์ ๋ํ ์ง์์ ์ถ๊ฐํ๋ ๊ฒฝ์ฐ ๋จผ์ ๊ทธ๊ฒ์ด ์ผ๋ง๋ ๋๋ฆฌ ํผ์ ธ ์๋์ง, ์ผ๋ง๋ ํ์ค์ ์ผ๋ก ๊ตฌํ๋์ด ์๋์ง๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ง์ฝ ํด๋น ํฌ๋งท์ด ์ถฉ๋ถํ ๋๋ฆฌ ํผ์ ธ์๊ณ ํ์ค์ ์ด๋ผ๋ฉด, ์ฌ์ฉ์๊ฐ ์ค์นํด์ผ ๋๋ ํ๋ฌ๊ทธ์ธ ๋ณด๋ค๋ Parcel ์ฝ์ด์ ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค. ์๋ฌธ์ ์ด ์๋ค๋ฉด GitHub์์ ๋ ผ์ํด ์ฃผ์ธ์.
ํ๋ฌ๊ทธ์ธ API
Parcel ํ๋ฌ๊ทธ์ธ์ ๋งค์ฐ ๋จ์ํฉ๋๋ค. Parcel ํ๋ฌ๊ทธ์ธ์ ์ฝ๊ฒ ๋งํด ์ด๊ธฐํ ์ค Parcel ์ ์ํด ์๋์ผ๋ก ํธ์ถ๋๋ ๋จ์ผ ํจ์๋ฅผ ๋ด๋ณด๋ด๋(export) ๋ชจ๋์
๋๋ค. ์ด ํจ์๋ Bundler
๊ฐ์ฒด๋ฅผ ์
๋ ฅ์ผ๋ก ๋ฐ๊ณ ์ ์
์ ํ๊ณผ ํจํค์ ๋ฑ๋ก๊ณผ ๊ฐ์ ์ค์ (configuration)์ ์ํํ ์ ์์ต๋๋ค.
module.exports = function(bundler) {
bundler.addAssetType('ext', require.resolve('./MyAsset'))
bundler.addPackager('foo', require.resolve('./MyPackager'))
}
์ด ํจํค์ง๋ฅผ parcel-plugin-
์ ๋์ด๋ฅผ ๋ถ์ฌ npm ์ ๋ฐํํ๋ฉด, ์ด ์๋์์ ์ค๋ช
ํ๋๋ฐ ๋๋ก ์๋์ผ๋ก ๊ฐ์ง๋๊ณ ๋ก๋ ๋ฉ๋๋ค.
ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ
Parcel ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ์ ๋ ์ด์ ์ฌ์ธ ์๊ฐ ์์๋งํผ ์ฝ์ต๋๋ค. ๊ทธ์ ํจํค์ง๋ฅผ ์ค์นํ์ฌ package.json
์ ์ ์ฅ๋ง ํ๋ฉด ๋ฉ๋๋ค. ํ๋ฌ๊ทธ์ธ์ parcel-plugin-
์ ๋์ด๋ฅผ ์จ์ ์ด๋ฆ์ง์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด, parcel-plugin-foo
๊ฐ์ด์. ์ด๋ค ์์กด ์์๋ผ๋ ์ด ์ ๋์ด๋ก package.json
์ ๋ฆฌ์คํธ๋์ด ์์ผ๋ฉด ์ด๊ธฐํ์ค์ ์๋์ผ๋ก ๋ก๋ ๋ฉ๋๋ค.
๋ฌธ์์ ๊ฐ์ ์ ๋์์ฃผ์ธ์
๋น ์ง์ ์ด ์๊ฑฐ๋ ๋ช ํํ์ง ์์ ๊ฒฝ์ฐ, ์น ์ฌ์ดํธ ์ ์ฅ์์ ์ด์๋ฅผ ์ ๊ธฐํด ์ฃผ์๊ฑฐ๋ ํ์ด์ง๋ฅผ ์์ ํด ์ฃผ์ธ์..