在生产/开发过程中,将以不同的顺序解释CSS类名

时间:2018-11-05 00:08:37

标签: css reactjs webpack sass create-react-app

我正在使用create-react-app v2。

我有一个带有几个类名的组件:“ x15 x14 login-form__field”。在HTML中,两种环境中它们的顺序相同。

在生产版本中,“。x14”比“ login-form__field”的优先级更高。它们在开发中是相反的(正确的)。有任何想法吗?我知道webpack会进行一些吊装和后处理,但不确定为什么会影响它。

Dev & Prod class order

Development Production

欢呼

-更新-

我刚刚注意到自定义类以内联样式加载,这就是为什么它获得优先级的原因。我认为webpack正在这样做。无论如何,我们可以告诉webpack / CRA将样式加载为样式表-而不是内联。否则,这意味着样式不代表生产。

-第二次更新-

Create-react-app将'styleLoader'用于dev中的内联样式以进行热重载,并且仅生成CSS用于生产。这是有道理的。

2 个答案:

答案 0 :(得分:0)

如果在项目中使用css模块,并且偶然在类中使用composes,则可能会发生这种情况。如果您在一个类中使用compos从另一个文件中的另一个类继承属性,那么排序就没有用。

答案 1 :(得分:0)

Create-react-app将'styleLoader'用于dev中的内联样式以进行热重载,并仅生成CSS用于生产。