javascript - 如何使用 Storybook 配置 VueJS + PostCss + Tailwind
问题描述
任何人都成功地使用 VueJS、PostCss 和 Tailwind 在 Storybook 中进行组件开发设置项目?
我已经做到了这一点:
- 新
vue
项目 (vue-cli 3.0.5
) - @storybook/vue (4.0.0-alpha.25)
- 尾风css (0.6.5)
- 使用创建组件
<style lang="postcss"> ... </style>
- 在样式块中使用 Tailwind
@apply
将实用程序类应用于组件
我遇到的问题是,lang="postcss"
在运行故事书时,我创建用于使用的故事的任何组件在编译期间都会失败。
我尝试添加一个自定义webpack
配置来停止错误,但我的所有组件都没有设置样式。
const path = require('path')
module.exports = {
module: {
rules: [
{
test: /\.postcss$/,
loaders: ["style-loader", "css-loader", "postcss-loader"],
include: path.resolve(__dirname, '../')
}
]
}
}
我也尝试app.postcss
在文件本身中导入我的(导入尾风)stories.js
无济于事。任何帮助,将不胜感激。
解决方案
我在这个 github repo https://github.com/jerriclynsjohn/svelte-storybook-tailwind中有一个完整的 Svelte + TailwindCSS + Storybook 示例
但是集成应该非常相似:
- 一旦 TailwindCSS 与您的 Vue 项目集成,然后继续。
webpack.config.js
在您的文件夹中添加自定义.storybook
并添加以下内容:
const path = require('path');
module.exports = ({ config, mode }) => {
config.module.rules.push({
test: /\.css$/,
loaders: [
{
loader: 'postcss-loader',
options: {
sourceMap: true,
config: {
path: './.storybook/',
},
},
},
],
include: path.resolve(__dirname, '../storybook/'),
});
return config;
};
postcss.config.js
使用以下内容在您的文件夹中创建一个.storybook
:
var tailwindcss = require('tailwindcss');
module.exports = {
plugins: [
require('postcss-import')(),
tailwindcss('./tailwind.config.js'), //This refers to your tailwind config
require('autoprefixer'),
],
};
utils.css
在您的故事书文件夹中添加一个文件
@import 'tailwindcss/base';
@import 'tailwindcss/components';
@import 'tailwindcss/utilities';
- 在以下位置引用您的 CSS 文件
<>.stories.js
:
import '../../css/utils.css';
我真的建议你参考 github repo 中的实现,它也有特定于 Storybook 的东西。( Github )
推荐阅读
- discord.py - 使用 youtube_dl 的 Discord.py 属性错误?
- r - 如何在R中的新行中打印向量的每个元素?
- oracle - 在 oracle spool 中需要生成当前日期的报告
- javascript - 您如何按在本机反应中创建的日期对交易列表进行分组?
- c# - 在 WPF 中动态生成的 DataGrid.Columns 中显示图像
- javascript - 如何以相反的顺序迭代 JavaScript 对象?
- javascript - Discord.js:message.mentions.members.array() 工作正常,直到消息满足某个 if 语句的条件
- php - 从 Angular 发送到 PHP 的 POST 对象为空,Get 和 Server 正在响应
- mysql - Mysql 返回之前的行在当前日期和时间之前
- c# - 什么是@context,为什么它是红色的?