我想在故事书中加入顺风,这样故事就可以像在网络上一样呈现。
我使用create-react-app project-name --template typescript
创建了这个项目。
然后安装tailwind,我遵循了tailwind文档中的https://tailwindcss.com/docs/guides/create-react-app指令。
一旦我完成了它,我就运行代码npm sb init
。这确保了故事书的运行。
现在我需要告诉故事书使用tailwindcss的样式。但我不知道如何。
我看到的每一个其他答案都告诉我要编辑postcss.config.js
文件。
但是我遵循了这个https://tailwindcss.com/docs/guides/create-react-app文档,在那里我甚至不需要创建postcss.config.js文件。所以我现在很困惑该怎么做。
为了清楚起见,我将在下面包括一些配置文件。craco.config.js
module.exports = {
style: {
postcss: {
plugins: [
require('tailwindcss'),
require('autoprefixer'),
],
},
},
}
.storybook/preview.js
import "../src/index.css"
export const parameters = {
actions: { argTypesRegex: "^on[A-Z].*" },
}
.storybook/main.js
module.exports = {
"stories": [
"../src/**/*.stories.mdx",
"../src/**/*.stories.@(js|jsx|ts|tsx)"
],
"addons": [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/preset-create-react-app"
]
}
src/index.css
@tailwind base;
@tailwind components;
@tailwind utilities;
tailwind.config.js
module.exports = {
purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'],
darkMode: false, // or 'media' or 'class'
theme: {
extend: {},
},
variants: {
extend: {},
},
plugins: [],
}
package.json
`{
"name": "memory",
"version": "0.1.0",
"private": true,
"dependencies": {
"@craco/craco": "^6.0.0",
"@tailwindcss/postcss7-compat": "^2.0.2",
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"@types/jest": "^26.0.15",
"@types/node": "^12.0.0",
"@types/react": "^16.14.2",
"@types/react-dom": "^16.9.8",
"autoprefixer": "^9.8.6",
"postcss": "^7.0.35",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1",
"tailwindcss": "npm:@tailwindcss/postcss7-compat@^2.0.2",
"typescript": "^4.0.3",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject",
"storybook": "start-storybook -p 6006 -s public",
"build-storybook": "build-storybook -s public"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"@storybook/addon-actions": "^6.1.11",
"@storybook/addon-essentials": "^6.1.11",
"@storybook/addon-links": "^6.1.11",
"@storybook/node-logger": "^6.1.11",
"@storybook/preset-create-react-app": "^3.1.5",
"@storybook/react": "^6.1.11"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react-jsx"
},
"include": [
"src"
]
}
7条答案
按热度按时间7rfyedvj1#
Storybook建议从现在开始使用
@storybook/addon-postcss
自定义postCSS配置(而不是依赖于自定义postcss-loader
):1.将postCSS加载项添加到安装中
1.在项目根目录中创建
postcss.config.js
1.将插件添加到
.storybook/main.js
1.将css文件导入
.storybook/preview.js
kx7yvsdv2#
你就快到了
缺少的配置是添加一个Webpack配置,以便将tailwind应用于
postcss-loader
:w1e3prcc3#
TAILWIND STORYBOOK CRA [2022-2023(希望如此)]
package.json
tailwind.config.js
postcss.config.js
.storybook/main.js
.storybook/preview.js
bjg7j2ky4#
答案是正确的,但在最新的CRA中,我必须这样配置:
wlsrxk515#
类似于ofhouse的答案,但是如果您不想只为几行使用额外的
postcss.config.js
,或者如果您想在所有内容中使用typescript(因为加载程序不获取postcss.config.ts),这里有一个解决方案。1.添加正式的postCSS插件
1.主风配置和顺风配置
第一次
rn0zuynd6#
这个问题也让我头疼,我遵循了StackOverflow和Github上可以找到的每一个解决方案。
但我只能通过运行tailwind-CLI、构建global.css文件并将其导入
./storybook/preview.js
来“修复”它下面是使用的cli命令。
然后从上面命令中的输出路径(-o标志)导入它。
mum43rcc7#
我已经尝试了以上所有的答案,但不幸的是,我仍然得到一些奇怪的
unknown word
错误时,运行的故事书。这是唯一对我有效的解决方案:https://github.com/storybookjs/addon-postcss/issues/33#issuecomment-1173042151