¾È³çÇϼ¼¿ä.
¾î¶² ¼Ö·ç¼Ç ȸ»ç¿¡¼ Á¦°øÇÑ ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡ ±â´ÉÀ» ³Ö´Â ÀÏÀ» ¸Ã°Ô µÈ SI °³¹ßÀÚÀÔ´Ï´Ù..
¼Ö·ç¼Ç »ç¿¡¼ Á¦°øÇÑ ÇÁ·ÎÁ§Æ®¸¦ ºÐ¼®Çغ¸´Âµ¥, vscodeÀÇ extensionÀÎ devtools for chromeÀÇ »ç¿ëÀÌ Àý½ÇÇß½À´Ï´Ù.
±×³É chrome¿¡ ³»ÀåµÈ µð¹ö±ë ÅøÀ» »ç¿ëÇØµµ µÇÁö¸¸ vs code ³»¿¡¼ ºÐ¼®ÀÌ µÇ´Â°Ô ÈξÀ ÁÁ¾Æº¸¿©¼¿ä.. ¤Ð¤Ð
±×·¡¼ »ç¿ëÀ» ÇØº¸·Á°í º¸´Ï, out Æú´õ¿¡ »ý¼ºµÈ ÆÄÀϷδ µð¹ö±ë£¨ºê·¹ÀÌÅ©Æ÷ÀÎÆ® ÀâÈ÷´Â °Í£©ÀÌ µÇ´Âµ¥, ½ÇÁ¦ ¼Ò½º °æ·Î¿¡¼´Â ¾ÈÀâÈ÷´õ¶ó±¸¿ä.. ¤Ð¤Ð
Ȥ½Ã ½ÇÁ¦ °æ·Î·Î´Â ºê·¹ÀÌÅ© Æ÷ÀÎÆ® ¿¬µ¿À» ½Ãų¼ö ¾øÀ»±î¿ä?
½ÇÁ¦ ¼Ò½º¸¦ ¾Æ¿ôÆú´õ¿¡ ½Éº¼¸¯ ¸µÅ©¸¦ °É¾î¼ ¾²¸éȤ½Ã °É¸®Áö ¾ÊÀ»±î Çߴµ¥ À̰͵µ ¾È¸ÔÈ÷´õ¶ó±¸¿ä.. ¤Ð¤Ð
Ȥ½Ã °£´ÜÇÏ°Ô ¼³Á¤¸¸À¸·Î ÇØ°áÀÌ ¾ÈµÇ´Â ºÎºÐÀÏ±î ½Í¾î ³»¿ë¿¡ ´ëÇØ¼ Á» ´õ ÀÚ¼¼ÇÏ°Ô ¼³¸íÀ» µå¸³´Ï´Ù.. ¤Ð¤Ð
0. ºôµå
ºÐ¼®Çغ¸´Ï ÇØ´ç ÇÁ·ÎÁ§Æ®´Â webpack ¸ðµâÀ» »ç¿ëÁßÀ̰í, build ½Ã out/site °æ·Î¿¡ assets Æú´õ¸¦ »ý¼ºÇØ ÇÁ·ÎÁ§Æ®¿¡ ÇÊ¿äÇÑ ¸®¼Ò½º¸¦ »ý¼ºÇϰí ÀÖ½À´Ï´Ù.
1. Æú´õ ±¸Á¶
a. Breakpoint °¡ ÀâÈ÷´Â ¼Ò½ºÀÇ °æ·Î £¨ ${workspaceFolder}/out/site/assets/js/*.js £©
b. ½ÇÁ¦ ¼Ò½ºÀÇ °æ·Î £¨ ${workspaceFolder}/src/ ..¿©·¯°³ÀÇ Æú´õ.. /js/*.js £©
2. chrome debugger¸¦ ¼³Á¤ÇÏ´Â launch.json ÆÄÀÏ
{
// IntelliSense¸¦ »ç¿ëÇÏ¿© °¡´ÉÇÑ Æ¯¼º¿¡ ´ëÇØ ¾Ë¾Æº¸¼¼¿ä.
// ±âÁ¸ Ư¼º¿¡ ´ëÇÑ ¼³¸íÀ» º¸·Á¸é °¡¸®Åµ´Ï´Ù.
// ÀÚ¼¼ÇÑ ³»¿ëÀ» º¸·Á¸é https://go.microsoft.com/fwlink/?linkid=830387À»£¨¸¦£© ¹æ¹®Çϼ¼¿ä.
"version": "0.2.0",
"configurations": [
{
"name": "Attach Chrome",
"type": "pwa-chrome",
"request": "attach",
"port": 9222,
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}",
"sourceMaps": true,
"sourceMapPathOverrides": {
"meteor://💻app/*": "${workspaceFolder}/*",
"webpack:///./~/*": "${workspaceFolder}/node_modules/*",
"webpack://?:*/*": "${workspaceFolder}/*"
},
},
{
"name": "launch Chrome",
"type": "pwa-chrome",
"request": "launch",
"url": "http://localhost:3000",
"webRoot": "${workspaceFolder}",
"sourceMaps": true,
"sourceMapRenames": true,
"smartStep": true,
"sourceMapPathOverrides": {
"meteor://💻app/*": "${workspaceFolder}/*",
"webpack:///./~/*": "${workspaceFolder}/node_modules/*",
"webpack://?:*/*": "${workspaceFolder}/*"
},
"outFiles": [
"${workspaceFolder}/out/site/assets/js/*.js",
"!**/node_modules/**"
]
}
]
}
//Ãß°¡³»¿ë
¿©±â¼ sourceMapPathOverrides ¿¡ Á¦°¡ ¿øÇÏ´Â °æ·Î¸¦ ÀÔ·ÂÇϸé Ȥ½Ã ÀÛµ¿ÇÒ±î ½Í¾ú´Âµ¥.
Áï, "webpack:///./out/site/assets/js/*": "${workspaceFolder}/src/*/src/js/*" ¸¦ ÀÔ·ÂÇϸé Ȥ½Ã ÀÛµ¿ÇÒ±î Çߴµ¥, ÀÛµ¿ÇÏÁö ¾Ê´õ¶ó±¸¿ä.. ¤Ð¤Ð ¼Ò½º °æ·Î°¡ ¿ÀÈ÷·Á ÀÌ»óÇÏ°Ô ²¿¿©¹ö·Á¼ Á¦°¡ »ý°¢Çß´ø °Å¶û ´Ù¸¥ ¼³Á¤ÀÎ µí Çß½À´Ï´Ù..
sourceMap À̶ó´Â°Ô chrome¿¡¼ j a v a - s c r i p t¸¦ ºÒ·¯ ¿Â µÚ, ÇØ´ç ¼Ò½ºÀÇ ¿øº»ÀÇ À§Ä¡¸¦ ¸ÅÇÎÇØÁִ°Ŷó°í »ý°¢Çߴµ¥, ±×°Ô ¾Æ´Ï¾ú´ÂÁö.. Á¦ °æ·Î¸¦ Á¦´ë·Î ÀÐÁö ¸øÇÏ´õ¶ó±¸¿ä..
"${workspaceFolder}/src/*/src/js/*" ÀÇ Áß°£ °æ·Î¿¡ wildcard°¡ ¾Æ´Ï¶ó ½ÇÁ¦ Æú´õ ¸íÀ» ÀÔ·ÂÇØÁ൵ Á¦´ë·Î µ¿ÀÛÀ» ÇÏÁö°¡ ¾Ê¾Ò½À´Ï´Ù.. ¤Ð¤Ð
ÀÚ¹Ù½ºÅ©¸³Æ® ÇÁ·ÎÁ§Æ®´Â À̹øÀÌ Ã³À½À̶ó..
°í¼ö´ÔµéÀÇ ´äº¯À» ºÎʵ右´Ï´Ù... ¤Ð¤Ð