CSS 类名在 production/development 中的解释顺序不同
CSS classnames are being interpreted in a different order in production/development
我正在使用 create-react-app v2。
我有一个包含多个 class 名称的组件:"x15 x14 login-form__field"。在 HTML 中,它们在两种环境中的顺序相同。
在生产版本中,“.x14”的优先级高于 'login-form__field'。它们在发展中是相反的(并且是正确的)。有任何想法吗?我知道 webpack 会进行一些提升和 post 处理,但不确定为什么会影响它。
干杯
--更新--
我刚刚注意到自定义 class 正在作为内联样式加载,这就是它获得优先权的原因。我假设 webpack 正在这样做。无论如何我们可以告诉 webpack/CRA 加载样式作为样式表 - 而不是内联。否则说明款式不代表生产。
--第二次更新--
Create-react-app 使用 'styleLoader' 用于开发中的内联样式以进行热重载,并生成 CSS 仅用于生产。这是有道理的。
如果您在项目中使用 css 模块,并且偶然在 classes 中使用 composes
,则可能会发生这种情况。如果您在一个 class 中使用组合来继承不同文件中另一个 class 的属性,那么排序不适用于此目的。
Create-react-app 使用 'styleLoader' 用于开发中的内联样式以进行热重载,并生成 CSS 仅用于生产。
我正在使用 create-react-app v2。
我有一个包含多个 class 名称的组件:"x15 x14 login-form__field"。在 HTML 中,它们在两种环境中的顺序相同。
在生产版本中,“.x14”的优先级高于 'login-form__field'。它们在发展中是相反的(并且是正确的)。有任何想法吗?我知道 webpack 会进行一些提升和 post 处理,但不确定为什么会影响它。
干杯
--更新--
我刚刚注意到自定义 class 正在作为内联样式加载,这就是它获得优先权的原因。我假设 webpack 正在这样做。无论如何我们可以告诉 webpack/CRA 加载样式作为样式表 - 而不是内联。否则说明款式不代表生产。
--第二次更新--
Create-react-app 使用 'styleLoader' 用于开发中的内联样式以进行热重载,并生成 CSS 仅用于生产。这是有道理的。
如果您在项目中使用 css 模块,并且偶然在 classes 中使用 composes
,则可能会发生这种情况。如果您在一个 class 中使用组合来继承不同文件中另一个 class 的属性,那么排序不适用于此目的。
Create-react-app 使用 'styleLoader' 用于开发中的内联样式以进行热重载,并生成 CSS 仅用于生产。