Vue-Storybook-Tailwind-Sass
~/.storybook/main.js
webpackFinal: async (config) => {
config.module.rules.push({
test: /\.ts$/,
exclude: /node_modules/,
use: [
{
loader: 'ts-loader',
options: {
appendTsSuffixTo: [/\.vue$/],
transpileOnly: true,
},
},
],
})
config.module.rules.push({
test: /\.(css)$/,
exclude: /node_modules/,
use: [
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: [require('tailwindcss')('./tailwind.config.js')],
},
},
],
})
config.module.rules.push({
test: /\.(scss)$/,
exclude: /node_modules/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
},
{
loader: 'postcss-loader',
options: {
ident: 'postcss',
plugins: [require('tailwindcss')('./tailwind.config.js')],
},
},
{
loader: 'sass-loader',
},
],
})
if (config.resolve.extensions != null) {
config.resolve.extensions.push('.ts')
}
if (config.resolve.alias != null) {
const rootPath = path.resolve(__dirname, '..')
config.resolve.alias['@'] = rootPath
config.resolve.alias['~'] = rootPath
}
return config
},
}
~/.storybook/preview.js
export const parameters = {
actions: { argTypesRegex: '^on[A-Z].*' },
}
import './tailwind.css'
import '~/assets/style/common.css'
~/.storybook/tailwind.css
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';