Storybook: ํŒŒ๋น„์ฝ˜์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•?

์— ๋งŒ๋“  2019๋…„ 03์›” 18์ผ  ยท  2์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: storybookjs/storybook

๋ฒ„๊ทธ ์„ค๋ช…

์Šคํ† ๋ฆฌ ๋ถ ์ •์  ๋นŒ๋“œ ๋ฐ ๊ฐœ๋ฐœ์„์œ„ํ•œ ์ปค์Šคํ…€ ํŒŒ๋น„์ฝ˜์„ ์„ค์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ๊ณผ ๊ฐ™์ด config.js ์—์„œ 'favicon.ico'๋ฅผ ๊ฐ€์ ธ์˜จ ํ›„ preview-header.html ๋ฐ manager-header.html ์—์„œ ๋‹ค๋ฅธ URL๋กœ ์•„์ด์ฝ˜์„ ์„ค์ •ํ•˜์—ฌ HtmlWebpackPlugin์„ ์‚ฌ์šฉํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

import {
  configure,
  addParameters,
  addDecorator
} from '@storybook/vue'
import {
  Vue
} from 'vue-property-decorator'
import {
  Centered
} from './components/centered'
import {
  Installer
} from '../src/Installer'
import {
  withKnobs
} from '@storybook/addon-knobs'
import '../src/assets/variables.css'
import '../src/assets/theme.css'
import '../src/assets/base.css'
import '../src/sass/main.scss'
import {
  withInfo
} from 'storybook-addon-vue-info'
// We import the favicon here
import './favicon.ico'

Vue.component('Centered', Centered)

const installer = new Installer(Vue)
installer.install(true)

addParameters({
  options: {
    sortStoriesByKind: true
  }
})

const stories = require.context('../src', true, /.stories.ts$/)

function loadStories() {
  stories.keys().forEach(filename => stories(filename))
}

addDecorator(withKnobs)
addDecorator(withInfo)

configure(loadStories, module)

๊ทธ๋ฆฌ๊ณ  preview-header.html (๋˜๋Š” manager-header.html ) :

<link rel="shortcut icon" href="./favicon.ico">

์šฐ๋ฆฌ๋Š” ๋‹ค์Œ ๊ฒฝ๋กœ๋„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค.

<link rel="icon" href="<%= BASE_URL %>favicon.ico">

๊ณผ

<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">

์ฒซ ๋ฒˆ์งธ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ๋น„์ฝ˜์ด ์†์ƒ๋˜์—ˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฒˆ๋“ค์—๋Š” ํŒŒ๋น„์ฝ˜์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฒด๊ณ„:

  • ์šด์˜์ฒด์ œ : MacOS
  • ๊ธฐ๊ธฐ : Macbook Pro 2019
  • ๋ธŒ๋ผ์šฐ์ € : ๋ชจ๋‘
  • ํ”„๋ ˆ์ž„ ์›Œํฌ : Vue
  • ๋ฒ„์ „ : 5.0.3
question / support ui

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

์—ฌ๊ธฐ ๋‚ด ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. package.json ์Šคํฌ๋ฆฝํŠธ์—์„œ

"storybook": "start-storybook -p 9009 -s public"

๊ทธ๋Ÿฐ ๋‹ค์Œ์— .storybook/manager-head.html (NOT manager-header.html ) :

<link rel="shortcut icon" href="/storybook.ico">
<link rel="icon" type="image/png" href="/storybook.png" sizes="192x192">

๊ทธ๋Ÿฐ ๋‹ค์Œ public :

$ ls public/
storybook.ico   storybook.png

๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

์—ฌ๊ธฐ ๋‚ด ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. package.json ์Šคํฌ๋ฆฝํŠธ์—์„œ

"storybook": "start-storybook -p 9009 -s public"

๊ทธ๋Ÿฐ ๋‹ค์Œ์— .storybook/manager-head.html (NOT manager-header.html ) :

<link rel="shortcut icon" href="/storybook.ico">
<link rel="icon" type="image/png" href="/storybook.png" sizes="192x192">

๊ทธ๋Ÿฐ ๋‹ค์Œ public :

$ ls public/
storybook.ico   storybook.png

๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๋‚ด ์ž˜๋ชป์€ .storybook/manager-head.html . ์ด์ œ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์•„๋งˆ๋„ ์ด๊ฒƒ์„ ๋ฌธ์„œ์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋„ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค ๐Ÿ™‚

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