target ์˜ต์…˜์€ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์–ด๋–ค React ๋ฒ„์ „์„ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

{
target: '19' // or '18', '17'
}

๋ ˆํผ๋Ÿฐ์Šค

target

์ปดํŒŒ์ผ๋œ ์ถœ๋ ฅ์˜ React ๋ฒ„์ „ ํ˜ธํ™˜์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ž…

'17' | '18' | '19'

๊ธฐ๋ณธ๊ฐ’

'19'

์œ ํšจํ•œ ๊ฐ’

  • '19': React 19๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค (๊ธฐ๋ณธ๊ฐ’). ์ถ”๊ฐ€ ๋Ÿฐํƒ€์ž„์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • '18': React 18์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. react-compiler-runtime ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • '17': React 17์„ ๋Œ€์ƒ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. react-compiler-runtime ํŒจํ‚ค์ง€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์˜ ์‚ฌํ•ญ

  • ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž์—ด ๊ฐ’์„ ์‚ฌ์šฉํ•˜์„ธ์š”. (์˜ˆ: 17์ด ์•„๋‹Œ '17')
  • ํŒจ์น˜ ๋ฒ„์ „์€ ํฌํ•จํ•˜์ง€ ๋งˆ์„ธ์š”. (์˜ˆ: '18.2.0'์ด ์•„๋‹Œ '18'์„ ์‚ฌ์šฉ)
  • React 19๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ๋Ÿฐํƒ€์ž„ API๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • React 17๊ณผ 18์€ react-compiler-runtime@latest ์„ค์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

React 19 ๋Œ€์ƒ์œผ๋กœ ํ•˜๊ธฐ (๊ธฐ๋ณธ๊ฐ’)

React 19์˜ ๊ฒฝ์šฐ ํŠน๋ณ„ํ•œ ์„ค์ •์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

{
// defaults to target: '19'
}

์ปดํŒŒ์ผ๋Ÿฌ๋Š” React 19์˜ ๋‚ด์žฅ ๋Ÿฐํƒ€์ž„ API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

// ์ปดํŒŒ์ผ๋œ ์ถœ๋ ฅ์€ React 19์˜ ๋„ค์ดํ‹ฐ๋ธŒ API๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
import { c as _c } from 'react/compiler-runtime';

React 17 ๋˜๋Š” 18 ๋Œ€์ƒ์œผ๋กœ ํ•˜๊ธฐ

React 17๊ณผ React 18 ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ๋‘ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋Ÿฐํƒ€์ž„ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
npm install react-compiler-runtime@latest
  1. target์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
// For React 18
{
target: '18'
}

// For React 17
{
target: '17'
}

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ๋‘ ๋ฒ„์ „ ๋ชจ๋‘์— ๋Œ€ํ•ด ํด๋ฆฌํ•„ ๋Ÿฐํƒ€์ž„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

// ์ปดํŒŒ์ผ๋œ ์ถœ๋ ฅ์€ ํด๋ฆฌํ•„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
import { c as _c } from 'react-compiler-runtime';

๋ฌธ์ œ ํ•ด๊ฒฐ

์ปดํŒŒ์ผ๋Ÿฌ ๋Ÿฐํƒ€์ž„ ๋ˆ„๋ฝ์— ๊ด€ํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜

โ€œCannot find module โ€˜react/compiler-runtimeโ€˜โ€œ์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค.

  1. React ๋ฒ„์ „์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    npm why react
  2. React 17 ๋˜๋Š” 18์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋Ÿฐํƒ€์ž„์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

    npm install react-compiler-runtime@latest
  3. target์ด React ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

    {
    target: '18' // React ๋ฉ”์ด์ € ๋ฒ„์ „๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค
    }

๋Ÿฐํƒ€์ž„ ํŒจํ‚ค์ง€๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

๋Ÿฐํƒ€์ž„ ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค์Œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

  1. ํ”„๋กœ์ ํŠธ์— ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ „์—ญ์ด ์•„๋‹Œ)
  2. package.json์˜ dependencies์— ๋‚˜์—ด๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ์˜ฌ๋ฐ”๋ฅธ ๋ฒ„์ „์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (@latest ํƒœ๊ทธ)
  4. devDependencies์— ์žˆ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. (๋Ÿฐํƒ€์ž„์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค)

์ปดํŒŒ์ผ๋œ ์ถœ๋ ฅ ํ™•์ธํ•˜๊ธฐ

์˜ฌ๋ฐ”๋ฅธ ๋Ÿฐํƒ€์ž„์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด ์„œ๋กœ ๋‹ค๋ฅธ import๋ฅผ ์ฃผ๋ชฉํ•˜์„ธ์š”. (๋‚ด์žฅ์˜ ๊ฒฝ์šฐ react/compiler-runtime, 17/18์šฉ ๋…๋ฆฝ ํŒจํ‚ค์ง€์˜ ๊ฒฝ์šฐ react-compiler-runtime)

// React 19์šฉ (๋‚ด์žฅ ๋Ÿฐํƒ€์ž„)
import { c } from 'react/compiler-runtime'
// ^

// React 17/18์šฉ (ํด๋ฆฌํ•„ ๋Ÿฐํƒ€์ž„)
import { c } from 'react-compiler-runtime'
// ^