首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何应用``postcss import``配置的插件

如何应用``postcss import``配置的插件
EN

Stack Overflow用户
提问于 2016-07-30 15:28:52
回答 1查看 2.2K关注 0票数 0

我刚刚开始和Webpack独家使用PostCSS。当使用postcss-import内联外部样式表时,我看到它的选项允许我们配置插件和转换器以应用于导入的源代码,但我有点困惑于如何将其与为主PostCSS运行器配置的其他选项配合使用。

例如,如果我想内联URL,我应该将postcss-url插件添加到postcss-import、PostCSS运行器或两者都添加(如果我的主样式表也有URL引用)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-02 09:37:14

当你在webpack中定义postcss插件时,建议将postcss-import作为你列表中的第一个插件。由于postcss-import只是将@import内联到文件的开头,因此之后定义的任何postcss插件都将应用于它。

示例:

(对于这个例子,我假设你使用的是一个postcss.config.js文件,如果你使用的是一个数组作为webpack 1格式的插件,同样的逻辑也适用于这个文件)

代码语言:javascript
复制
// Header.css
@import 'button.css';

.foo {
    font-size: 3rem;
    transform:translateY(-10px);
}

// Button.css

.bar {
   transform:translateX(20px);
}

如果导入插件位于自动修复程序之后,它将首先在文件上应用自动修复程序插件,然后导入@import文件。因此,在导入文件时,前缀将已经发生,输出将是:

代码语言:javascript
复制
// postcss.config.js
module.exports = {
  plugins: {
    'autoprefixer': {},
    'postcss-import': {}
  },
};

// output.css
.bar {
    transform: translateX(20px); // Prefixing hasn't happened on the imported file
}
.foo {
    font-size: 3rem;
    transform:translateY(-10px);
    -webkit-transform:translateY(-10px); // original file has been prefixed though
}

如果你把导入放在第一位,它将内联导入的文件,然后执行自动重定位,这意味着导入的文件和原始文件都将被自动重定位:

代码语言:javascript
复制
// postcss.config.js
    module.exports = {
      plugins: {
        'postcss-import': {},
        'autoprefixer': {}
      },
    };

// output.css
.bar {
    transform: translateX(20px);
    -webkit-transform:translateX(20px); // Also prefixed now

}
.foo {
    font-size: 3rem;
    transform:translateY(-10px);
    -webkit-transform:translateY(-10px); 
}

因此,这意味着您实际上不必在postcss-import插件选项中再次添加插件。

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

https://stackoverflow.com/questions/38671502

复制
相关文章

相似问题

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