reactjs - 如何在弹出的 CRA 和 Storybook 中使用 PostCSS 插件
问题描述
我有一个带有 Storybook 的弹出 create-react-app。为了使用一些额外的 PostCSS 插件,我添加了 postcss-nested,当我启动/构建 cra 项目时一切正常,但它不适用于 Storybook。看起来 Storybook 忽略了 PostCSS 并将所有内容编译为简单的 css。
我试图重写它,但它不起作用。
如果你能帮助我,我将不胜感激。
.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',
],
webpackFinal: async config => {
config.module.rules.push({
test: /\.module\.css$/,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['postcss-nested'],
},
},
},
],
include: __dirname,
});
config.resolve.modules.push(process.cwd() + '/node_modules');
config.resolve.modules.push(process.cwd() + '/src');
config.resolve.symlinks = false;
return config;
},
};
我试图创建一个单独的文件
module.exports = {
plugins: [
require('postcss-nested'),
]
};
解决方案
看起来它正在工作
module.exports = {
stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
addons: [
'@storybook/addon-links',
'@storybook/addon-essentials',
'@storybook/preset-create-react-app',
],
webpackFinal: async config => {
config.module.rules.push({
test: /\.css$/,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
// ident: 'postcss',
options: {
ident: 'postcss',
plugins: [require('postcss-nested')],
},
},
],
include: __dirname,
});
config.resolve.modules.push(process.cwd() + '/node_modules');
config.resolve.modules.push(process.cwd() + '/src');
config.resolve.symlinks = false;
return config;
},
};
推荐阅读
- python - 如何使用 selenium 从内联 css 获取背景图像
- artificial-intelligence - 为什么我的奖励收敛但仍然有很多变化
- c++ - C++解析二进制文件的问题
- javascript - 为什么第一个 ..draggable 类会下降两次?
- deep-learning - 为什么高级 LSTM 模型的结果并不比简单模型的结果好?
- flutter - 尝试运行应用程序颤动时找不到 AppLocalization 类
- c# - 如何重定向到 DLL 文件中存在的 Aspx 页面
- java - 使用 GridBagLayout 在一个面板中设置多个组件,但我不想填满整个面板
- authentication - 如何刷新令牌而不必再次通过身份验证?OAuth2
- python - 尝试在python中按位和两个列表