CommonJS vs ES Modules
์›น (WEB)/๊ณต๋ถ€ 2021. 9. 22. 13:57

๋ฐฐ๊ฒฝ ํ•จ์ˆ˜๋“ค๋ผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ์ „์—ญ ์Šค์ฝ”ํ”„์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋‘”๋‹ค๋ฉด ๋‹ค๋ฅธ ๋‚ด๋ถ€ ์š”์†Œ์— ์˜ํ•ด ๋ง๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๊ณ , ์ˆœ์„œ๊ฐ€ ๋’ค์—‰์ผœ ์ „์—ญ ์Šค์ฝ”ํ”„์˜ ์š”์†Œ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋“ˆ์ด๋ผ๋Š” ๋ฐฉ์‹์„ ์ด์šฉํ•˜๋ฉด ๊ฐ๊ฐ ํ•„์š”ํ•œ ๋ชจ๋“ˆ์„ importํ•˜์—ฌ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ์–ด๋””์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์‰ฝ๋‹ค. ๋ชจ๋“ˆ์„ ๋งŒ๋“ค๊ณ  import, export ํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์ด๋ผ ํ•˜๋Š”๋ฐ ํ˜„์žฌ 2๊ฐ€์ง€์˜ ๋ชจ๋“ˆ ์‹œ์Šคํ…œ์ด ํ™œ๋ฐœํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค. CommonJS ES modules ์ฐจ์ด์  ๊ธฐ์ดˆ ๋ฌธ๋ฒ• CommonJS const module = require('์–ด์ฉŒ๊ตฌ'); const { func } = require('์–ด์ฉŒ๊ตฌ'); module.exports = '์–ด์ฉŒ๊ตฌ'; // default export..

[eslint] Error: Unexpected token 'export'
์›น (WEB)/์—๋Ÿฌํ•ด๊ฒฐ 2020. 11. 21. 21:46

์ฐธ๊ณ  : https://hoilzz.github.io/webpack/11-eslint-prettier/ eslint์˜ parser๊ฐ€ ๊ณต์‹์ ์œผ๋กœ ES ํ‘œ์ค€๋งŒ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ES6~7 ํŒŒ์‹ฑ ์‹œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. ๋”ฐ๋ผ์„œ, .eslintrc.js ํŒŒ์ผ์˜ export default๋ฅผ module.export๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ export๋Š” ES6 syntax์ด๊ณ , module export๋Š” commonJS syntax์ด๋‹ค. babel-eslint ์„ค์น˜ ํ›„ .eslintrc.js์— "parser": "babel-eslint",์ถ”๊ฐ€ํ•˜๊ธฐ ๋‘ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.