如何使用 Rollup 使 React 组件导入提取的 scss 模块文件?

Gab*_*obo 5 rollup sass reactjs postcss css-modules

我正在使用 Rollup 制作一个 React 组件库,并使用以下组件设置:

//component A
import styles from './stylesA.module.scss'

const ComponentA = () => {
  return(
    <div className={styles.red}>Component A Styled</div>
  )
}

export { ComponentA }

Run Code Online (Sandbox Code Playgroud)
//stylesA.module.scss
.red {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

如何配置 Rollup 以便我的输出组件自动将生成的.css 文件导入到我的组件中?请注意,我不想将样式捆绑到文件中.js,也不想在导入最终包时手动导入样式import 'my-library/dist/stylesA.css'

我的 rollup.config.js 目前看起来像这样:

// rollup.config.js
import resolve from '@rollup/plugin-node-resolve';
import babel from '@rollup/plugin-babel';
import postcss from 'rollup-plugin-postcss';
import pkg from './package.json'


export default {
  input: 'src/index.js',
  output: [{
    dir: './dist',
    format: 'cjs'
  }],
  plugins: [
    resolve(),
    babel({
      exclude: 'node_modules/**',
      babelHelpers: 'bundled'
    }),
    postcss({
      modules: true,
      extract: true,
      minimize: true
    })
  ],
  external: Object.keys(pkg.peerDependencies || {})
};
Run Code Online (Sandbox Code Playgroud)