์์ํ๋ฉฐ
์ต๊ทค๋ฌ์ ์์ฃผ ๊ธฐ์ด์ ์ธ ๊ธฐ๋ฅ์ ํ์ฉํ ๋ฐฉ๋ฒ์ด๋ฏ๋ก ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ๋ถ๋ค์ด ๋ณด์๊ธฐ์๋ ์ค๋ฅ๊ฐ ์์ ์ ์์ต๋๋ค.
๋ ์ข์ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ์ฝ๋ฉํธ๋ก ์๋ ค์ฃผ์ธ์ :)
๋งํฌ์ ๊ฐ๋ฐ์ ํ๋ ์ฌ๋๋ค์ ์ ๋ง๋ค ๋ค์ํ ๋ฐฉ์์ผ๋ก ์์ ๋ฌผ์ ๊ด๋ฆฌํฉ๋๋ค. ํ๋ก ํธ์๋ ๊ฐ๋ฐ๊ณผ ์์ ํ ๋๋จ์ด์ ธ์ ์ ์ ์ธ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋๋ ์ฌ๋๋ ์๊ณ ๋ณ๋์ ๋งํฌ์ ์ฐ์ถ๋ฌผ ์์ด ํ๋ก ํธ ๊ฐ๋ฐ๊ณผ ๊ฐ์ ์ ์์์ ์งํ์ ํ๊ธฐ๋ ํฉ๋๋ค. ๋งํฌ์ ๊ฐ๋ฐ์์ ์๋ จ๋๋ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ๋งํฌ์ ๊ฐ๋ฐ๋ ๋ ๋์ ํ์ ๋ฐฉ์์ ๋ํด ๊ณ ๋ฏผํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด ํ๋ก์ ํธ ๊ฐ์ ๊ฒฝ์ฐ์๋ ํ๋์ ํ ํ๋ฆฟ์ด ์ฌ๋ฌ๊ฐ์ง ์ผ์ด์ค๋ก ๊ฐ๋ฆฌ๋ ํ๋ฉด๋ค์ด ๋ง์ด ํ์ํ์ต๋๋ค. ๊ธฐํ์/๋์์ด๋์์ ์ํํ ์ํต์ ์ํด ์ค์ ๊ฐ๋ฐ์ด ์งํ๋์ง ์์ ์ํฉ์์๋ ๋ทฐ๋ฅผ ํ์ธ ํ ์ ์๊ณ ๊ฐ๋จํ ์์ ์ ์ง์ ํ ์คํธ ํด๋ณผ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํด๋ณด๊ณ ์ถ์์ต๋๋ค. ๋ฌด์๋ณด๋ค ์์ ์์ธ ์ ์ค์ค๋ก๋ ํ๋ก ํธ์๋ ์ชฝ์์ 'ใ ใ ใ ํ๋ฉด ์ด๋์ ์๋์?' ๋ผ๊ณ ๋ฌผ์์๋ ๋น ๋ฅด๊ฒ ๊ณต์ ํ ์ ์๋ ํ๋ฉด์ ์ ๋ฌํ ์ ์์ด์ ๋งค์ฐ ํธ๋ฆฌํจ์ ๋๊ผ์ต๋๋ค.
์คํ ๋ฆฌ๋ถ์ ์๋ ๋ฆฌ์กํธ์์ ๋จผ์ ์ฌ์ฉ๋๋ ๊ฐ๋ ์ธ๋ฐ ์ต๊ทค๋ฌ, ๋ทฐ ๋ฑ ๋ค๋ฅธ ํ๋ ์์ํฌ์์๋ ์ฌ์ฉํ ์ ์๋๋ก ํ์ฅ์ด ๋์์ต๋๋ค. ์ต๊ทค๋ฌ ์คํ ๋ฆฌ๋ถ์ ๊ด๋ จ๋ ๊ตญ๋ด์๋ฃ๊ฐ ๋ง์ด ์์ด์ ๊ฐ๋ ์ ๋ฆฌ์กํธ์ ๋น์ทํ๊ฒ ์ง๋ง ์ด๋ณด์ ์ ์ฅ์์๋ ์ฝ๊ฐ ๋ง๋งํ ์๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ญ์๋ ๋๊ผ๊ธฐ ๋๋ฌธ์ ํ์ฉ๊ธฐ๋ฅผ ๊ธ๋ก ๋จ๊ฒจ๋ด ๋๋ค.
์คํ ๋ฆฌ๋ถ์ด๋?
Storybook์ UI ๊ฐ๋ฐ์ ์ํ ๋๊ตฌ์ ๋๋ค. ๊ตฌ์ฑ ์์๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ฐ์ ๋ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ๊ฒํ๋ฉด ํ ๋ฒ์ ํ๋์ ๊ตฌ์ฑ ์์์์ ์์ ํ ์ ์์ต๋๋ค. ๋ณต์กํ ๊ฐ๋ฐ ์คํ์ ์์ํ๊ฑฐ๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ ๋ก ๋ฃ๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ์ง ์๊ณ ๋ ์ ์ฒด UI๋ฅผ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
์ค์น ๋ฐ ์คํ
์ค์น
์ฐธ๊ณ : https://storybook.js.org/docs/angular/get-started/install/
$ npx sb init
์คํ
$ npm run storybook
์ด๋ ๊ฒ ๋จ๋ฉด ์ ์๊ตฌ๋๋ ๊ฒ์ ๋๋ค. http://localhost:6006/ ์ผ๋ก ์ ์ํ๋ฉด ์๋์ ๊ฐ์ ํ๋ฉด์ ๋ณผ ์ ์์ต๋๋ค.
๋๋ฌ๋ณด๊ธฐ
์๋ ์์๋ฅผ ํตํด ์์ ์๋ฏ ์ฝ๊ฒ ์์, ํฌ๊ธฐ, ํ ์คํธ๋ฅผ ๋ณ๊ฒฝํด ๋ณผ ์ ์์ต๋๋ค.
์ฌ์ฉ๋ชฉ์
์๋ฅผ ๋ค์ด gnb์ ๊ฒฝ์ฐ์ ๋งํฌ์ ์ ํ๋์ง๋ง ๋ณด์ฌ์ง๋ ๊ฒฝ์ฐ์ ์๊ฐ n๊ฐ์ง๊ฐ ์๋ค๋ฉด,
- ๋งํฌ์ ์ ๋ณต๋ถํด์ ํ ํ๋ฆฟ์ 4๊ฐ๋ฅผ ๋ง๋ค์ด ํ์ธ
- ์ฃผ์์ ๋ฌ์ ์ค๋ช
ํด ๋์
- ๋ณดํต ์ฃผ์์ ์ ๋๋ก ํ์ธํ์ง ์์
- ํน์ ๋ณด๋๋ผ๋ ์ดํด๋ฅผ ์๋ชปํด์ ๊ฒฐ๊ตญ ๋ค์ ์ผ์ผ์ด ์ค๋ช ์ ํด์ผํจ
์ด๋ฐ ๋ฒ๊ฑฐ๋ก์์ ํด๊ฒฐํ ์ ์๋ค๋ ์ ์ด ๊ฐ์ฅ ํฐ ์ฅ์ ์ด์ ์คํ ๋ฆฌ๋ถ์ ๋ณธ์ง์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ ์๋ฐฉ๋ฒ
.html / .ts / .stories.ts ์ด ์ธ๊ฐ์ง ํ์ผ์ ๋ชจ๋ ์ ์ ํ๊ฒ ์ฌ์ฉํ์ฌ์ผ ํฉ๋๋ค.
- ์ ๊ฐ์ ๊ฒฝ์ฐ์๋ .html ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด์ ๋จผ์ .ts ํ์ผ์ @Input() ์์ฑ๋ค์ ์ ์ธํฉ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ๋ค์ .html ๋ก ๋์๊ฐ ํด๋น ์์ฑ์ ๋ฐ๋ผ ์ด๋ป๊ฒ ํญ๋ชฉ๋ค์ ๋ณด์ฌ์ค์ง ์ฒ๋ฆฌ๋ฅผ ํ๊ณ ,
- .stories.ts ํ์ผ์์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
*.html
๋งํฌ์ ๊ณผ ์คํ ๋ฆฌ๋ถ์ด ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋์ด ์๋์ง ์๋์ ๊ทธ๋ฆผ์ ํตํด ํ์ธํ์ค ์ ์์ต๋๋ค. mk-admin-nav.component.html ์ ๋ณด๋ฉด ํ๋์ ๋งํฌ์ ์ผ๋ก ์ํ๊ฐ์ ๋ฐ๋ผ ๋ณด์ฌ์ค์ง ๋ง์ง๋ฅผ ๊ฒฐ์ ํ๊ณ , ํด๋น ์์ฑ์ ๋ง๋ ๊ฐ์ ๋ฃ๋๋ก ํฉ๋๋ค. ์์ฃผ ๊ธฐ์ด์ ์ธ ํ๋ก ํธ ๊ธฐ์ (๋ฐ์ดํฐ ๋ฐ์ธ๋ฉ)์ ์ฌ์ฉํด์ ์ํ ๋์๋ง ํด๋น ๋งํฌ์ ์ด ๋ณด์ฌ์ง๊ณ /๊ฐ๋ ค์ง๊ณ ํ ์ ์๊ฒ ์ ์ดํ ์ ์์ต๋๋ค.
- *ngIf (ํด๋น ์ํ๊ฐ true ์ผ๋๋ง ๋งํฌ์ ์ด ๋ํ๋จ)
*.ts
*.stories.ts
์ฌ์ฉ์์
๊ทธ๋ ๊ฒ ๋ง๋ค์ด์ง ์คํ ๋ฆฌ๋ถ์ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์์๊น์?
๋ง์ฝ ๋์์ด๋๊ฐ "๊ฝ ์ฑ์์ง ๋ก๊ณ ๋ง๊ณ ์ํ์ png์ด ๋ก๊ณ ์ ์ ์ฉ๋์์ ๋๋ ์ด๋ป๊ฒ ๋ณด๋์?" ๋ผ๊ณ ํ์๋,
๋ค์ํ ์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ์ง์ ์์ ํด๋ณด๋ฉด์ ํ ์คํธํ ์ ์๋๋ก ์๋ดํ๋ฉด ๋ฉ๋๋ค.
๋ฐฐํฌ
์ฐธ๊ณ : simplereact.gitbook.io/simplereact/storybook
$ npm i @storybook/storybook-deployer --save-dev
์ค์น ํ package.josn ํ์ผ์ ๋ฐฐํฌ ๋ช ๋ น์ด ๋ฑ๋ก
// package.json
"scripts": {
"docs-storybook": "start-storybook",
"deploy-storybook": "storybook-to-ghpages"
}
๊ฐ๋จํ๊ฒ ๋ฐฐํฌ ๊ฐ๋ฅ!
$ npm run deploy-storybook
ํ์ธํ๊ธฐ
zineeworld.github.io/angular-storybook/?path=/story/example-introduction--page
'ZINEE > Works' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2020] ์นด์นด์ค i ๊ณ์ (0) | 2021.05.26 |
---|---|
[2020] HTML Email Template Markup (์ด๋ฉ์ผ ๋งํฌ์ ) (0) | 2020.05.28 |
[2020] ์นด์นด์ค์ํฐํ๋ผ์ด์ฆ ๊ธฐ์ ๋ธ๋ก๊ทธ (0) | 2020.05.25 |
- ์นด์นด์ค์ํฐํ๋ผ์ด์ฆ (2020.02 ~ 2023.08) - (4) | 2020.02.18 |
[2019] ์ฝ์ธ์ (0) | 2020.02.03 |