Descreva o bug
Não podemos definir um favicon personalizado para a construção e desenvolvimento estático do storybook. Tentamos usar o HtmlWebpackPlugin, definindo o ícone com diferentes urls em preview-header.html
e manager-header.html
tendo importado o 'favicon.ico' em config.js
seguinte maneira:
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)
E o preview-header.html
(ou manager-header.html
):
<link rel="shortcut icon" href="./favicon.ico">
Também tentamos essas rotas:
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
E
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
Usando a primeira opção, vemos que o favicon está quebrado, porém não vemos o favicon no pacote.
Sistema:
Aqui está minha configuração. Primeiro em package.json
scripts:
"storybook": "start-storybook -p 9009 -s public"
Então, em .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">
Então, em public
:
$ ls public/
storybook.ico storybook.png
Espero que ajude!
Meu mal, eu quis dizer .storybook/manager-head.html
. Funciona perfeitamente agora, obrigado! Talvez adicionar isso aos documentos ajude outras pessoas também 🙂
Comentários muito úteis
Aqui está minha configuração. Primeiro em
package.json
scripts:Então, em
.storybook/manager-head.html
( NOTmanager-header.html
):Então, em
public
:Espero que ajude!