ค้นหาเว็บไซต์

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.jsx
import 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
    }
  }
},