作为样板项目存储库的工作解决方案
在过去的几个月里,我在使用 Vue 配置 Storybook 时遇到了问题,但是我已经解决了这些问题,并在这里分享了一个工作样板项目存储库,其中包含您的特定要求以及一些额外内容。
提供给这个问题的赏金要求提供最新的解决方案。几天前刚刚进入测试版的最新 Storybook 版本 5.2 和 5.3 的问题是,即将推出两种新的故事语法格式:组件故事格式 (CSF)和MDX 语法。
Storybook 5.3 最终为这些格式带来了多框架支持,以及期待已久的Storybook Docs插件的初始版本。
但是,作为可选格式/功能,这些当前未在 repo 中配置。如果需要,我可以在单独的分支中提供额外的设置。
所以这里是使用 Tailwind CSS 的 Storybook 5.3 预发布测试版的工作样板项目存储库。
该项目配置了Vue CLI 4和TypeScript以及Composition API功能组件格式,作为面向2020 年第一季度末即将发布的 Vue 3.0 版本的面向未来。
关于 PostCSS 和导入样式的注意事项
问题设置的主要问题是PostCSS 不是一种语言,而是一种使用 JavaScript 转换 CSS 的工具,并且Vue CLI 已经在内部使用 PostCSS 进行了配置。
问题和之前的答案还缺少的是,样式不仅需要在应用程序的main.js
/main.ts
文件中导入,还需要在 Storybooks 的主config.js
文件中导入。
初始设置步骤
# Check if Vue CLI is globally installed
vue --version
# If so, and if it's version is 3.x, uninstall it
npm uninstall -g @vue/cli
# OR if it was installed with Yarn
yarn global remove @vue/cli
# Need to use NPM insted of Yarn because in a later step
# we are installing a forked package from Github repo
# and it was not possible or as straightforward with Yarn.
# Install currently newest Vue CLI version 4
npm install -g @vue/cli
# Create app
vue create boilerplate-ts-vue-storybook-tailwind-postcss --packageManager npm
# Project bootstrapping options chosen for the project
◉ Babel
◉ TypeScript
◯ Progressive Web App (PWA) Support
◯ Router
◯ Vuex
◉ CSS Pre-processors
◉ Linter / Formatter
◉ Unit Testing
◯ E2E Testing
Vue CLI v4.0.5
? Please pick a preset: Manually select features
? Check the features needed for your project: Babel, TS, CSS Pre-processors, Linter, Unit
? Use class-style component syntax? No
? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? No
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): Sass/SCSS (with node-sass)
? Pick a linter / formatter config: Prettier
? Pick additional lint features: Lint on save
? Pick a unit testing solution: Jest
? Where do you prefer placing config for Babel, PostCSS, ESLint, etc.? In dedicated config files
# Go into the directory just created
cd boilerplate-typescript-vue-storybook-tailwind-postcss
# Add Vue Cli Storybook plugin from a forked repo with Storybook 5.3.0-beta.2
npm install -D git+https://git@github.com/ux-engineer/vue-cli-plugin-storybook.git#v0.6.2
# Run the plugin's installer
vue add storybook --packageManager npm
项目配置和其余步骤
可以从 repo 的提交历史中查找其余的更改。
资源
对于使用 Vue 设置 Tailwind,我建议关注 Markus Oberlehner 关于该主题的精彩文章系列:
使用 Vue.js 设置 Tailwind CSS
使用 PurgeCSS 从 Tailwind 中删除未使用的 CSS
使用 Tailwind CSS 的可重用函数式 Vue.js 组件
关于实用程序优先的 CSS 框架的思考
Adam Wathan - Tailwind CSS 最佳实践模式