Rollup 和 Post CSS - 自动为 React className 属性添加前缀

Posted

技术标签:

【中文标题】Rollup 和 Post CSS - 自动为 React className 属性添加前缀【英文标题】:Rollup and Post CSS - Auto-prefixing React className attributes 【发布时间】:2018-05-29 16:20:41 【问题描述】:

我正在使用 Rollup + React + Post CSS 来构建组件库。我正在寻找一种自动为类名添加前缀的方法,这样它们就不会与使用该库的项目中的样式冲突。

我已经添加了这个插件来自动将“前缀-”添加到 CSS 中的每个类名:

Post CSS Prefixer

但是,这并没有修改 javascript (JSX),所以 React 组件仍然使用未命名的类作为 className 属性。

有没有办法使用 Rollup 自动修改 className 属性以包含 CSS 中指定的相同前缀?

请注意,我不是在寻找完全模块化的解决方案,例如 CSS 模块,因为我希望库中的每个组件都使用相同的“前缀”。

【问题讨论】:

【参考方案1】:

您不能使用静态类名来使用此功能。要使用它,您需要将样式导入为对象并将其分配为对象。

import React from "react";
import style from "style.css";

class DivMyStyle extends React.Component 
  render() 
    return <div className=style.myStyle />
  

【讨论】:

以上是关于Rollup 和 Post CSS - 自动为 React className 属性添加前缀的主要内容,如果未能解决你的问题,请参考以下文章

实战篇最详细的Rollup打包项目教程

尝试使用 rollup 和 vueJs 3 构建 vue 组件库

Rollup处理并打包JS文件项目实例

使用 rollup、postcss 和 tailwind 框架打包使用 lit-element 制作的 web 组件

rollup简单了解

rollup 实战第二节 搭建开发环境