๋ฐ˜์‘ํ˜•

Lodash ๋ชจ๋“ˆ์„ importํ•  ๋•Œ import { cloneDeep } from 'lodash' ์ด๋ ‡๊ฒŒ ์ž‘์„ฑ ํ•˜๋ฉด ํ’€๋ฒ„์ „ ๋ชจ๋“ˆ์„ ๊ฐ€์ ธ์˜จ๋‹ค. ๋ช‡๋ช‡ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ถˆํ•„์š”ํ•œ import๋ฅผ ํ•˜๋Š” ์…ˆ์ด ๋œ๋‹ค. ์ฐธ๊ณ ๋กœ Lodash๋Š” ์›นํŒฉ์˜ ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ๋กœ ๋ฒˆ๋“ค๋งํ•˜๋ฉด 25kb ์ •๋„ ์ฐจ์ง€ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. 30kb ์ •๋„์˜ React DOM, Vue.js์™€ ๋น„๊ตํ•ด๋„ ๊ฝค ๋ฌด๊ฑฐ์šดํŽธ์ด๋‹ค.

import { cloneDeep } from 'lodash' // 73.15 kB (gzip: 25.42 kB)

 

import ๊ตฌ๋ฌธ์„ ์•„๋ž˜์ฒ˜๋Ÿผ ์ž‘์„ฑํ•˜๋ฉด ํ•„์š”ํ•œ ํ•จ์ˆ˜๋งŒ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๋Ÿฌ Lodash ํ•จ์ˆ˜๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” chaining ํ•  ์ˆ˜ ์—†๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜ ๋ฐฉ๋ฒ•์€ ๋‹จ์ผ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ ํ•ฉํ•˜๋‹ค.

import cloneDeep from 'lodash/cloneDeep'; // 17.84 kB (gzip: 4.91 kB)

 

chaining ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด Lodash core ๋นŒ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. Lodash์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ 63๊ฐ€์ง€ ํ•จ์ˆ˜๋“ค๋งŒ ๋ชจ์•„๋†“์€ ๋ฒ„์ „์ด๋‹ค. ์šฉ๋Ÿ‰์€ 4kb ์ •๋„ ๋ฐ–์— ์•ˆ๋œ๋‹ค. ๊ธฐ๋ณธ ํ•จ์ˆ˜ ์™ธ์— ๋‹ค๋ฅธ ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋ฉด mixin ๋ฐฉ์‹์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งํฌ ์ฐธ๊ณ .

 


๊ธ€ ์ˆ˜์ •์‚ฌํ•ญ์€ ๋…ธ์…˜ ํŽ˜์ด์ง€์— ๊ฐ€์žฅ ๋น ๋ฅด๊ฒŒ ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”
๋ฐ˜์‘ํ˜•