์ฃผ์ ์์
- ํ์ผ ๊ตฌ์กฐ ์ผ๋ถ ์์
- express ์ฐ๊ฒฐ ๋ฐ ์๋ ํ์ธ
- ์๋ฒ์์ html ์์๋ฅผ ๋ณด๋ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ๊ต์ฒด
- express์ pug ์ฐ๊ฒฐํ์ฌ pug ํ์์ผ๋ก ํ ํ๋ฆฟ ๊ต์ฒด
- ์นด๋ ์ปดํฌ๋ํธ ์ ์(default)
- ๊ธฐ์กด ๋ฉ์ธํ์ด์ง ๊ฐ ์ปดํฌ๋ํธํ
- nodemon ์ฐ๊ฒฐ
ํ์ต ํค์๋
- ๋ ผ๋ธ๋กํน/๋ธ๋กํน
- ๋น๋๊ธฐ
- ์ด๋ฒคํธ๋ฃจํ
- nodejs ๋๋ฒ๊น
- express
- JIT ์ปดํ์ผ๋ฌ
ํ์ต์ ๋ฆฌ(1์ฃผ์ฐจ) https://luxurious-share-af6.notion.site/1-baed698a7b3c40bbbd6b94fb1097dc42?pvs=4
๊ณ ๋ฏผ ๋ฐ ํด๊ฒฐ๊ณผ์
์ปดํฌ๋ํธ ์ฌ์ฉ
๊ธฐ์กด์ ๊ณํํ๋ ๋ฐฉ์์ผ๋ก๋ ์ปดํฌ๋ํธ๋ฅผ ๋ชจ๋ ํด๋์ค ๊ฐ์ฒด๋ก ๋ง๋ค์ด ์น ์ปดํฌ๋ํธ์ ํ์์ผ๋ก shadowDOM์ ์ถ๊ฐํ์ฌ ๋ ๋๋ง์ ์ํค๋ ๋ฐฉ์์ ๊ตฌ์ํ์๋ค.
ํ์ง๋ง ์ดํ์ ๊ธ์ผ์๋ express์ ํด๋ผ์ด์ธํธ๋ฅผ ์ฐ๊ฒฐ์ํค๋ ๊ณผ์ ์์ ์๋ฒ ์์ฒด๊ฐ ํ์ด์ง์ ๋ชจ๋ ์์๋ค์ ๋ณด๋ผ ์ ์๋๋ก ํ๊ฒ ๋ง๋ค๋ฉด์ ์น ์ปดํฌ๋ํธ๊ฐ ์ด๋ค ๊ณผ์ ์ผ๋ก ๋ ๋๋ง๋๋์ง ๊ทธ ํ๋ฆ์ ๋ณด๋ค ์๊ธฐ ์ด๋ ต๊ฒ ๋๊ปด์ก๋ค. ๋ํ, ๋ฌธ์์ด๋ก ๋ด๋ณด๋ด๋ html ์์๋ค์ ์์์ ์ด๋ฒคํธ ๋ฑ์ ๋ค๋ฃจ๊ธฐ์๋ ๋๋ฌด ๋ณต์กํด์ง๋ฉด์ ๋์ค์๋ ์์๋ณด๊ธฐ๋ ์ด๋ ค์์ง ๊ฒ์ด๋ผ ์๊ฐํด์ ์ด๋ฅผ ์ด๋ป๊ฒ ํ ์ง ๊ณ ๋ฏผ์ ๋ง์ด ํ์๋ค.
์ด ๊ณผ์ ์์ ๋งจ ์ฒ์ ๊ณํํ๋ฏ์ด, ์นด๋๋ฅผ Pug ๋ฅผ ํตํด์ ๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง html์ ๋ณด๋ผ ์ ์๋๋ก ํ๋ ค๊ณ ํ๋๋ฐ, ๊ทธ๋ฅ ๋ชจ๋ html ์์๋ค์ ๋ชจ๋ pug๋ก ๋ง๋ค์ด๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ ๊ธฐ์กด์ ๋ฉ์ธํ์ด์ง๋ค์ ์ปดํฌ๋ํธ๋ก ๋๋๊ณ , ์ด๋ฅผ pugํ์ฅ์๋ก ์ ์ํ์ฌ ์๋ฒ์์ ์๋ต์ผ๋ก ๋ณด๋ด๋๋ก ๊ตฌ์ํ์๋ค.
style
| @import url('/app/css/app.css')
.body
include ../shared/card/component/card.pug
include ../shared/section/component/section.pug
header TASKIFY
main
+section("ํด์ผ ํ ์ผ")
+section("ํ๊ณ ์๋ ์ผ")
+section("์๋ฃํ ์ผ")
pug์ mixin๊ณผ attribute, include์ ๊ฐ์ด ๊ฐ๋ ์ฑ์ด ํจ์ฌ ์ข์ ์ฅ์ ์ด ์์ด ์์ง๊น์ง๋ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๋ฉด์ ๊ทธ๋ ๊ฒ ๋ฌธ์ ๊ฐ ๋๋ ์ ์ ๋ฐ๊ฒฌํ์ง ๋ชปํ๋ค. ๋์ค์๋ ์ด๋ฅผ ๋ฐ์ ์์ผ ํด๋น pug๋ก ๋ง๋ค์ด์ง html ์์๋ฅผ ์ด๋ป๊ฒ ๋์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์์ง ๊ณ ๋ฏผํด๋ด์ผ ๋ ๊ฒ ๊ฐ๋ค.