【问题标题】:Is there a postcss plugin which compiles scss to css(gulp)?是否有将 scss 编译为 css(gulp) 的 postcss 插件?
【发布时间】:2018-07-21 16:18:32
【问题描述】:

例如postcss-scss不是插件而是解析器,它不会将scss编译成css。我知道有一个gulp-sass,它工作得很好。

我想开始使用 postcss 插件的原因是因为他们说postcss can be more than 30 times faster

但似乎我找不到可以将 scss 编译为 css 的 postcss 插件。请帮忙。

【问题讨论】:

  • 它会更快,但仅限于非常非常非常大的项目。在企业环境中工作时,我经常使用 sass,其中包含大量包含、文件、mixin 和变量,所有这些都托管在通过 USB 3.0 连接的外部 SSD 上,开发构建大约需要 3 秒,生产构建需要 10 秒。除非构建时间绝对至关重要并且需要快速运行(因为您依赖于冗长的工作流程),否则我会坚持使用 sass。请注意,了解 PostCSS 也是您可以投入开发的时间。
  • @JonathanArbely 在将近 4 年后出现,你会给出同样的建议吗?如果是这样,你如何只使用 Sass 来处理 tree-shaking?

标签: plugins sass gulp postcss


【解决方案1】:

请注意 PostCSS 不应与 SCSS 在一个工作流程例程中一起使用,因为这几乎违背了它的目的。要么是 SCSS 到 CSS,要么是 PostCSS 到 CSS。

正如您已经说过的,有一个 postcss-scss 解析器,但它用于在使用 PostCSS 时使用 SCSS 语法

PostCSS 可以转换任何语法的样式,而不仅仅是 CSS。

【讨论】:

  • 好的。那么有没有办法使用 postcss 而不是默认的 gulp-sass 插件将 scss 编译为 css?当我使用.pipe(postcss(plugins, {syntax: require('postcss-scss')})) 时,它会输出带有.pipe(gulp.dest('./css')).scss 文件。我想在最后只使用 postcss 获取 .css 文件,而不使用 gulp-sass 插件。
  • 这是我的任务:jsfiddle.net/8j6d81n2 它在css 文件夹中输出.scss 文件。我做错了什么?
  • 您是从default task 和添加的SCSS Transformations 开始的吗?您链接的任务似乎只是您工作流程的一部分。
  • 如果你刚开始接触 CSS 并且不确定是使用 SCSS/SASS 还是 PostCSS,我会选择一个并坚持下去。混音是不好的做法,恕我直言。我会坚持使用 SASS。
  • @KulaGGin 如果您认为我的回答解决了您的问题,请考虑将其标记为解决方案(正确答案)。
猜你喜欢
  • 2018-03-15
  • 2016-03-08
  • 2017-10-09
  • 1970-01-01
  • 2021-08-01
  • 2016-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多