[Error?] ES module in require() is an experimental feature...

do_Rangยท2025๋…„ 4์›” 30์ผ

๐Ÿค” ๋ฌธ์ œ

ํ‰์†Œ์™€ ๊ฐ™์ด node app.js๋ฅผ ์‹คํ–‰ํ–ˆ๋Š”๋ฐ ๊ธฐ์กด์—๋Š” ๋œจ์ง€ ์•Š๋˜ ๊ฒฝ๊ณ  ๋ฉ”์„ธ์ง€๊ฐ€ ๋–ด๋‹ค.

๐Ÿค— ํ•ด๊ฒฐ

serviceํŒŒ์ผ์—์„œ SQL์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ๋„ˆ๋ฌด ๊ธธ์–ด์„œ ๋ณ„๋„์˜ ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•œ ๋’ค ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์˜€๋‹ค.
์ด๋•Œ ํ•œ์ฐฝ react๋ฅผ ์ด์šฉํ•œ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ ์ค‘์ด์–ด์„œ module export ๋ฐฉ์‹์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.

// ๊ธฐ์กด sql ํŒŒ์ผ ์ž‘์„ฑ
export const SQL_SELECT_SCHEDULES = ``;
// ์ด ํ›„ require๋กœ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•จ

// ๋ณ€๊ฒฝ ๋‚ด์šฉ
const SQL_SELECT_SCHEDULES = ``;

module.exports = {
  SQL_SELECT_SCHEDULES
};

๋ชจ๋“ˆ ํ˜ธ์ถœ ๋ฐฉ์‹์€ CommonJS ๋ฐฉ์‹๊ณผ ES ๋ชจ๋“ˆ ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ, exportํ•˜๊ณ  ๊ทธ์— ๋Œ€ํ•œ ํ˜ธ์ถœ ๋ฐฉ์‹์„ ์„ž์–ด์„œ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์˜€๋‹ค.

์ž ๊น ๋‘ ๋ฐฉ์‹์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ๊ฐ€์ž.

CommonJS

  • ๋‚ด๋ณด๋‚ผ ๋•Œ : module.exports = / exports.name =
  • ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ : `require('๋ชจ๋“ˆ ๊ฒฝ๋กœ')
  • ๋กœ๋”ฉ ๋ฐฉ์‹ : ๋™๊ธฐ์  ๋ฐฉ์‹, ํ•ด๋‹น ๋ชจ๋“ˆ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ

ES Module

  • ๋‚ด๋ณด๋‚ผ ๋•Œ : export default / export {name1, name2}
  • ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ : import name from '๋ชจ๋“ˆ ๊ฒฝ๋กœ' / import { name1, name2 } from '๋ชจ๋“ˆ ๊ฒฝ๋กœ'
  • ๋กœ๋”ฉ ๋ฐฉ์‹ : ๋น„๋™๊ธฐ & ์ •์  ๋ฐฉ์‹, ์ฝ”๋“œ ์‹คํ–‰ ์ „ ๋ฏธ๋ฆฌ ํŒŒ์‹ฑํ•ด์„œ ํŽ˜์ด์ง€ ๋กœ๋”ฉ์— ์ง€์žฅ์„ ์ฃผ์ง€ ์•Š์Œ

๊ธฐ์กด, ํŠนํžˆ Node.js์—์„œ CommonJS ๋ฐฉ์‹์„ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, ํ˜„์žฌ๋Š” ES Module ๋ฐฉ์‹์ด ์ผ๋ฐ˜์ ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฒ„์ „์ด ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ Node.js์—์„œ๋„ ์ง€์›ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํ˜„์žฌ ๋‚ด ๋ฐฑ์—”๋“œ ํ”„๋กœ์ ํŠธ๋Š” ์ „๋ถ€ CommonJS๋ฐฉ์‹์ธ๋ฐ ํ•œ๋ฒˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ํ•ด๋ณด๋Š” ๊ฒƒ๋„ ์ข‹์„ ๋“ฏ ํ•˜๋‹ค!

profile
๊ณต๋ถ€ํ•˜์ž

0๊ฐœ์˜ ๋Œ“๊ธ€