首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack -不工作后筑巢按建议使用

Webpack -不工作后筑巢按建议使用
EN

Stack Overflow用户
提问于 2022-01-24 15:03:28
回答 1查看 1K关注 0票数 1

我有一个简单的css,它使用嵌套规则。

代码语言:javascript
复制
.root {
  background: var(--color-accent);
  padding: 0.8rem 1.5rem;
  color: var(--color-white);
  text-decoration: none;
  &:hover {
    background: var(--color-purple);
  }
}

我使用postcss-loader在Webpack作为装载机。

代码语言:javascript
复制
  {
    test: /\.css$/i,
    use: ["style-loader", "css-loader", "postcss-loader"],
  },

这是我的postcss.config.js文件。它与https://github.com/postcss/postcss-nested#usage中使用的代码相同。

代码语言:javascript
复制
module.exports = {
  plugins: ["autoprefixer", "postcss-nested"],
};

css文件是加载的,但嵌套规则仍然有效。浏览器不识别它。

怎样做才能实现以下目标?

代码语言:javascript
复制
.root {
  background: var(--color-accent);
  padding: 0.8rem 1.5rem;
  color: var(--color-white);
  text-decoration: none;
}


.root:hover {
  background: var(--color-purple);
}

CSS变量是在生成的css中定义的(颜色作品)。postcss.config.js也加载了文件。

Chrome中嵌套css的屏幕截图。

更新

我在Codesandbox.上建立了一个类似的项目

https://codesandbox.io/s/zealous-tree-chz7y3

后css嵌套也不起作用。

代码语言:javascript
复制
module.exports = () => ({
    plugins: [
        require("postcss-preset-env")({
            stage: 3,
            features: {
                "color-mod-function": { unresolved: "warn" },
                "nesting-rules": true,

                "custom-properties": {
                    preserve: false,
                },
            },
        }),
    ],
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-17 19:20:23

你在使用create-react-app。恐怕它还不支持postcss.config.js,就像在这条线中看到的那样。

我认为您需要在某种程度上重构您的代码。例如,您可以尝试使用craco覆盖CRA配置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70835939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档