reactjs - ไม่สามารถทำให้โมดูล css ใช้งานได้ภายในโปรเจค Typescript Storybook
นี่คือการตั้งค่าปัจจุบันสำหรับ ./storybook/main.js และฉันดูเหมือนว่าจะไม่สามารถทำให้โมดูล CSS ทำงานภายในคอมโพเนนต์ของ Storybook ได้ นี่เป็นโปรเจกต์ Typescript ดังนั้นฉันไม่แน่ใจว่าจำเป็นต้องใช้สิ่งใดเพิ่มเติมเพื่อให้โมดูลทำงานได้อย่างถูกต้อง
const path = require("path");
const tailwindcss = require("tailwindcss");
const autoprefixer = require("autoprefixer");
module.exports = {
stories: ["../stories/**/**/*.stories.tsx"],
addons: [
"@builder.io/storybook",
"@storybook/addon-knobs",
"@storybook/addon-knobs/register",
],
webpackFinal: async (config) => {
config.module.rules.push(
{
test: /\.(scss|sass|css)$/,
use: [
{
loader: "sass-loader",
},
{
loader: 'css-loader',
options: {
modules: true,
},
},
{
loader: "postcss-loader",
options: {
ident: "postcss",
plugins: [tailwindcss, autoprefixer],
},
},
],
include: path.resolve(__dirname, "../"),
},
{
test: /\.(png|jpe?g|gif|jp2|webp)$/,
use: [
{
loader: "file-loader",
options: {
name: "assets/images/[name].[ext]",
},
},
],
}
);
return config;
},
};
MyComponent.jsximport React from "react";
import styles from "./styles.css";
const MyComponent = () => {
console.log(styles);
return <h1>hi</h1>;
};
การบันทึก styles ส่งคืนวัตถุว่าง ฉันพลาดอะไรไปหรือเปล่า?
คำตอบ #1
ดูเหมือนว่าฉันจำเป็นต้องเพิ่มตัวโหลดเพิ่มเติมไปที่ส่วนขยายของสตอรี่บุ๊ก
{
name: '@storybook/preset-scss',
options: {
cssLoaderOptions: {
modules: true
}
}
},
