This repository was archived by the owner on Sep 24, 2020. It is now read-only.
This repository was archived by the owner on Sep 24, 2020. It is now read-only.
feature suggestion: add storybook #35
Open
Description
These work, for Vue + Typescript + Webpack:
- ./.storybook/config.js:
import { configure } from '@storybook/vue'
// automatically import all files ending in *.stories.js
const req = require.context('../src/stories', true, /.stories.ts$/);
function loadStories() {
req.keys().forEach((filename) => req(filename));
}
configure(loadStories, module)
- ./.storybook/webpack.conf.js:
const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
const genDefaultConfig = require('@storybook/vue/dist/server/config/defaults/webpack.config.js');
module.exports = (storybookBaseConfig, configType) => {
const config = genDefaultConfig(storybookBaseConfig, configType);
config.resolve.extensions.push('.ts', '.tsx', '.vue', '.css', '.less', '.scss', '.sass', '.html')
config.module.rules.push({
test: /\.ts$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader',
options: {
appendTsSuffixTo: [/\.vue$/],
transpileOnly: true // used with ForkTsCheckerWebpackPlugin
},
}
],
})
config.plugins.push(new ForkTsCheckerWebpackPlugin())
return config;
};
Metadata
Metadata
Assignees
Labels
No labels
Activity
ducksoupdev commentedon Jan 30, 2018
Hi, this is great. Can you supply some more details on how to run it etc?
davidm-public commentedon Feb 2, 2018
It's really simple, and the guide is here https://storybook.js.org/basics/guide-vue/
Basically:
install storybook globally:
npm i -g storybook
in the project directory run
getstorybook
, which should detect vue and should:a) add these devDepencies:
@storybook/vue
babel-core
b) create this is
package.json
:-c .storybook
is probably redundant as that's the defaultc) getstorybook should create a
./.storybook/
directory,if the above don't install, then add manually.
edit these files in
./.storybook/
as above (or create if they don't exist):./.storybook/config.js
and./.storybook/webpack.conf.js
kick off the storybook server:
npm run storybook
Optionally install Storybook 'addons', most work for Vue.
The other thing to be aware of is that Storybook is written in React, with the Vue components in separate iFrames. As such, Vue Devtools doesn't see the components (but it does see Vuex stores and events!).
Dave