Vm2: '์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ' ๋ชจ๋“ˆ์„ ์ข…์† ํ•ญ๋ชฉ์œผ๋กœ ์ถ”๊ฐ€

์— ๋งŒ๋“  2017๋…„ 04์›” 08์ผ  ยท  23์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: patriksimek/vm2

webpack/babel์— ์˜ํ•ด ๋ณ€ํ™˜๋œ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋ชจ๋“ˆ์„ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ๋‹ค์Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

Module not found: Error: Can't resolve 'coffee-script' in '/node_modules/vm2/lib'
 @ ./~/vm2/lib/main.js 19:10-34
 @ ./~/vm2/index.js
 @ ./lib/config.js
 @ ./lib/server.js

https://github.com/patriksimek/vm2/blob/master/lib/main.js#L19

์ด ์ค„์—์„œ coffee-script ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ ๋ชจ๋“ˆ ์ข…์†์„ฑ์œผ๋กœ ์ •์˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ webpack์ด ๋ชจ๋“  ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋งคํ•‘ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜์—ฌ ์–ด๋””์—๋„ coffee-script ๋ชจ๋“ˆ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

UPD: ์ด๊ฒƒ์€ ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์•„๋‹ˆ๋ผ vm2 ๋ชจ๋“ˆ ์ข…์†์„ฑ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋“ˆ์— ์ด ์ค„ ์ด ์žˆ์„ ๋•Œ๊นŒ์ง€๋Š” ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ ๋ชจ๋“ˆ์ด ์„ค์น˜๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ ์—์„œ coffee-script ๋กœ ์ง€์ •๋œ ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@dkfiresky ์™€์šฐ, ์ ์ ˆํ•œ ์†”๋ฃจ์…˜์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ˆ˜๋งŒ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋ฐ๋„ ๊ฐ•์ œ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ฒŒ ํ•  ๊ฑฐ๋ผ๊ณ  ์ •๋ง ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๊ฑฐ ์Šฌํ”„๋‹ค.

@n-riesco ์‹ค์ œ๋กœ ์ด๊ฒƒ์€ ์ด๋ฏธ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” coffeescript ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์› ์ค‘๋‹จ์ด ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋ฉฐ ๋จผ์ € ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์‹œ๋„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค(์žˆ๋Š” ๊ฒฝ์šฐ).

๋ชจ๋“  23 ๋Œ“๊ธ€

๋ฌธ์ œ๋ฅผ ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” Webpack์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ๊ฑฐ์˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ coffee-script ๋ฅผ ์ƒ์œ„ ํ”„๋กœ์ ํŠธ์˜ ์ข…์†์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? Webpack ํ”„๋กœ์„ธ์Šค์—๋Š” Node๊ฐ€ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  node_modules ํด๋”๋ฅผ ๋ฃจํŠธ๊นŒ์ง€ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์— ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— coffee-script ๋ฅผ ๋‚ด ํ”„๋กœ์ ํŠธ์˜ ์ข…์†์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” coffee-script ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์‹ ์˜ ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ข…์†์„ฑ์œผ๋กœ ์„ ์–ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‹น์‹ ์˜ ๋ชจ๋“ˆ์„ ์„ค์น˜ํ•˜๊ณ  ๊ทธ ์‚ฌ๋žŒ์ด coffee-script ๋ชจ๋“ˆ์„ ์–ด๋””์—๋„(ํ”„๋กœ์ ํŠธ ๋˜๋Š” ๊ธ€๋กœ๋ฒŒ์—์„œ) ์„ค์น˜ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ ํ•ด๋‹น ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. Webpack์— ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ข‹์•„, ๋‚˜๋Š” ๋‹น์‹ ์ด ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” webpack ํ˜ธํ™˜ atm์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ์‹œ๊ฐ„์ด ์ข€ ์žˆ์œผ๋ฉด ์ด๊ฒƒ์„ ์•Œ์•„๋‚ด๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ด๋‹ค.

์ด๊ฒƒ์€ ์›นํŒฉ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์˜ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ชจ๋“ˆ์„ npm์— ๊ฒŒ์‹œํ•˜๊ณ  ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์˜ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.

๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ ์—†์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋ฏ€๋กœ ํ•„์ˆ˜ ์ข…์†์„ฑ์œผ๋กœ ์—ฐ๊ฒฐํ•  ์ด์œ ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๋ช…์‹œ์ ์œผ๋กœ ๋งํ•  ๋•Œ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์„ ์ผ์ข…์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๋ฆฌํŒฉํ† ๋งํ•  ๊ฒƒ์ด๋‹ค.

๊ทธ ์ด์œ ๋Š” ์ฝ”๋“œ์— coffee-script ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ, ์ด๋Š” ์–ด๋–ป๊ฒŒ๋“  ์„ค์น˜๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ์— ์ด๋ฏธ coffee-script ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์œผ๋ฉด ๊ดœ์ฐฎ๊ณ  ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์–ด๋””์—๋„ coffee-script ๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜์ด ์„ค์ •๋œ VM์„ ์‹คํ–‰ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. 'coffeescript', 'coffee-script', 'cs' ๋˜๋Š” 'text/coffeescript' ์ค‘ ํ•˜๋‚˜๋กœ ๋ณ€ํ™˜(https://github.com/patriksimek/vm2/blob/master/lib/main.js#L14- L18).

๋˜ํ•œ ๋ชจ๋“ˆ์ด ์•„์ง ์„ค์น˜๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ coffee-script ์ปดํŒŒ์ผ๋Ÿฌ์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์ด feature request ๋ผ๋Š” ๋ฐ ๋™์˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์„œ์—๋Š” coffee-script ๊ฐ€ ์‚ฌ์ „ ์„ค์น˜๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์–ธ๊ธ‰์ด ์—†์Šต๋‹ˆ๋‹ค.

์˜ˆ, ํ˜„์žฌ ์ž‘๋™ ๋ฐฉ์‹์„ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปคํ”ผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๊ฐ€ ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ๋ฌธ์„œ์— ๋Œ€ํ•ด ์˜ณ์•˜์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ, ๋ฌธ์„œ ์ˆ˜์ •์œผ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์— ์—ฌ์ „ํžˆ require('coffee-script') ํ–‰์ด ์žˆ์œผ๋ฉฐ, ์ด๋Š” ์ตœ์†Œํ•œ webpack์— ๋Œ€ํ•ด ์˜ค๋ฅ˜๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, ์ด์ „ ๊ฒŒ์‹œ๋ฌผ์—์„œ ์ผ๋“ฏ์ด ์›นํŒฉ๊ณผ ํ˜ธํ™˜๋˜๋„๋ก ์ผ์ข…์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๋ฆฌํŒฉํ† ๋งํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ•œ ๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋„ˆ๋ฌด ์–ด๋ ต๋‹ค๋ฉด ์‹ ๊ฒฝ ์“ฐ์ง€ ๋งˆ์„ธ์š”.

> npm install coffee-script --save

๊ท€ํ•˜์˜ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ๊นŒ์ง€ ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€๋„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@patriksimek ๊ฐœ์ธ์ ์œผ๋กœ ์ผ์ข…์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์žˆ๋‹ค๋Š” ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

options.compiler ์™€ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ๊ฒƒ์ด ํ•จ์ˆ˜๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๊ทธ๋Ÿฐ ๋‹ค์Œ CoffeeScript๊ฐ€ ํ•„์š”ํ•œ ์‚ฌ์šฉ์ž๋Š” options.compiler ๋ฅผ (code) => { return require('coffee-script').compile(code, {header: false, bare: true}); } ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@dkfiresky ์™€์šฐ, ์ ์ ˆํ•œ ์†”๋ฃจ์…˜์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๋Š”๋‹ค๋Š” ์ด์œ ๋งŒ์œผ๋กœ ์ˆ˜๋งŒ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋ฐ๋„ ๊ฐ•์ œ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜๊ฒŒ ํ•  ๊ฑฐ๋ผ๊ณ  ์ •๋ง ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๊ฑฐ ์Šฌํ”„๋‹ค.

@n-riesco ์‹ค์ œ๋กœ ์ด๊ฒƒ์€ ์ด๋ฏธ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” coffeescript ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์› ์ค‘๋‹จ์ด ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด๋ฉฐ ๋จผ์ € ๋” ๋‚˜์€ ์†”๋ฃจ์…˜์„ ์‹œ๋„ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค(์žˆ๋Š” ๊ฒฝ์šฐ).

@patriksimek ๋‚˜๋Š” ๋‹น์‹ ์ด ๋‹น์‹ ์˜ ๋ชจ๋“ˆ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค. ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ์˜ ์‚ฌ์šฉ์€ ๊ท€ํ•˜์˜ ์ฑ…์ž„์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ข…์†์„ฑ์œผ๋กœ ์ •์˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . ๋™์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํ•ด๋‹น require ๋ฌธ๊ณผ coffee-script ๋ฅผ ์˜ต์…˜์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์˜ต์…˜์„ ์ œ๊ฑฐํ•˜์‹ญ์‹œ์˜ค.

์ด ๋ฌธ์ œ๋Š” ๋ชจ๋“ˆ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์„ค์น˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด 18์ผ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์€ ๋†๋‹ด์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

๋˜ํ•œ ๋ชจ๋“ˆ์ด coffee-script ๋ฅผ ์ปดํŒŒ์ผํ•œ๋‹ค๊ณ  ๋ช…์‹œํ•˜๋ฉด ํ•ด๋‹น ๋ชจ๋“ˆ์„ package.json ์˜ ์ข…์†์„ฑ์œผ๋กœ ์ „๋‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ๋‚ด๊ฐ€ ์ˆ˜๋งŒ ๋ช…์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋„๋ก ๊ฐ•์š”ํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ •๋ง๋กœ ์˜ˆ์ƒํ–ˆ์Šต๋‹ˆ๊นŒ?

์ฝ”๋“œ ์—์„œ require('coffee-script') ๋กœ ์ˆ˜ํ–‰ํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๋‚ด๊ฐ€ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋”๋ผ๋„ ๋‚ด๊ฐ€ ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ„๋‹จํ•œ ์„ค์น˜ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด 18์ผ์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์€ ๋†๋‹ด์ฒ˜๋Ÿผ ๋“ค๋ฆฝ๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ๋‚ด๊ฐ€ ์ ˆ๋Œ€ ํ•˜์ง€ ์•Š๊ฒ ๋‹ค๊ณ  ๋งํ•œ ๊ฒƒ์„ ๋‚ด๊ฐ€ ํ•˜๊ธฐ๋ฅผ ์—ฌ์ „ํžˆ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ํ•œ ๋ฒˆ - ์ด ๋ชจ๋“ˆ์€ ํ˜„์žฌ Webpack๊ณผ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

@patriksimek ์ด ๋ชจ๋“ˆ์€ coffee-script ๊ฐ€ ์„ค์น˜ ๋˜์ง€ ์•Š์€ ํ™˜๊ฒฝ์—์„œ๋Š” ํ˜ธํ™˜๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹คํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

@dkfiresky ๋ฌผ๋ก , ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐํ•œ๋‹ค๋ฉด. ๋‚˜๋Š” ๋” ์ด์ƒ ๋‹น์‹ ์ด ํ‹€๋ ธ๋‹ค๊ณ  ์„ค๋“ํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ด ์“ธ๋ฐ์—†๋Š” ํ† ๋ก ์„ ๋ฉˆ์ถฐ๋„ ๋ ๊นŒ์š”?

@patriksimek ๋„ค, ๋งž์Šต๋‹ˆ๋‹ค. npm ๋ฌธ์„œ๋ฅผ ์ฝ์œผ์‹ญ์‹œ์˜ค.

๋‚˜๋Š” vm2๋ฅผ ์ข…์†์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๊ธฐ ์ „์— ์‹ ์„ ํ•œ ๋ฐ˜์‘ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ์ด๊ฒƒ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ ์˜ค๋ฅ˜๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

Failed to compile.

/Users/mark/node_modules/coffee-script/lib/coffee-script/coffee-script.js
Module not found: Can't resolve 'module' in '/Users/mark/node_modules/coffee-script/lib/coffee-script'

ํ† ๋ก ์˜ ์–ด์กฐ๊ฐ€ ๊ทธ๋‹ค์ง€ ๊ฑด์„ค์ ์ด์ง€ ์•Š์•˜์ง€๋งŒ coffee-script ๋ฅผ ์ข…์†์„ฑ์œผ๋กœ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์†”๋ฃจ์…˜์ด๋ฉฐ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ(์˜ˆ: Webpack, Next ๋“ฑ)์—์„œ ์ด ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰