微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过Webpack将SCSS导入PostCSS

如何解决通过Webpack将SCSS导入PostCSS

我目前正在一个项目中,我必须将一个特定的scss文件导入到css文件之一中,以便可以使用其中的一些变量。该项目将PostCSS与webpack中的加载程序一起使用。

到目前为止,我已经尝试使用an SCSS parser,但这似乎不起作用。

以下代码示例显示了我要对主colors.css文件执行的操作:

@import "@theme-data/build/scss/variables/_darkBlueTheme.scss";

:global .lightGray {
  --textColor: $colorScheme-textColor;
  --graph-axis-label-color: rgba(104,69,0.65);
  --tooltip-textColor: #f5f5f5;
  --tooltip-backgroundColor: #535353;
  --backgroundColor: #d9d9d9;
}

有人知道我如何配置webpack来处理此问题吗?

非常感谢!

解决方法

您将需要2个插件来处理此问题:

npm i -D postcss-easy-import precss

然后更新postcss.config.js

module.exports = {
    plugins: [
        require('postcss-easy-import')({
            path: ["src/css"] //or wherever it should look for relative paths
        }),require('precss'),//.. rest of your plugins
    ]
}

PreCss允许使用scss语法,而PostCss Easy Import允许使用导入语句。导入插件应在列表中排在第一位。

文档:

PostCss轻松导入-https://github.com/trysound/postcss-easy-import (有关选项,请参见幕后使用的postcss导入-https://github.com/postcss/postcss-import

PreCss-https://github.com/jonathantneal/precss

这将使css文件的行为类似于scss文件,因此您只需将扩展名从scss更改为css,就可以了。

否则,您可以在webpack中为scss编写一条单独的规则,以使用scss loader生成css文件,然后将该css文件导入您的入口点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。