@csstools/postcss-sass

中文文档
5.1.1发布于 2023/12/29CC0-1.0ESM + CJS近 30 天下载 19.3万

Use Sass as a PostCSS plugin

原始使用文档

PostCSS Sass PostCSS Logo

NPM Version test Discord

PostCSS Sass lets you use Sass as a PostCSS plugin.

$font-stack:    Helvetica, sans-serif;
$primary-color: #333;

:root {
  color: $primary-color;
  font: 100% $font-stack;
}

/* becomes */

:root {
  color: #333;
  font: 100% Helvetica, sans-serif;
}

PostCSS Sass uses dart-sass, letting you safely run transforms before and after Sass, watching for changes to Sass imports, and preserving source maps.

Usage

Add PostCSS Sass to your build tool:

npm install postcss @csstools/postcss-sass --save-dev

Node

Use PostCSS Sass to process your CSS:

require('@csstools/postcss-sass').process(YOUR_CSS);

PostCSS

Use PostCSS Sass as a plugin:

postcss([
  require('@csstools/postcss-sass')(/* dart-sass options */)
]).process(YOUR_CSS);

The standard CSS parser included with PostCSS may not be able to parse SCSS specific features like inline comments. To accurately parse SCSS, use the SCSS Parser.

npm install postcss-scss --save-dev
const postcss = require('postcss');
const postcssSass = require('@csstools/postcss-sass');

postcss([
  postcssSass(/* pluginOptions */)
]).process(YOUR_CSS, {
  syntax: require('postcss-scss')
});

Gulp

Add Gulp PostCSS to your build tool:

npm install gulp-postcss --save-dev

Use PostCSS Sass in your Gulpfile:

var postcss = require('gulp-postcss');

gulp.task('css', function () {
  return gulp.src('./src/*.css').pipe(
    postcss([
      require('@csstools/postcss-sass')(/* dart-sass options */)
    ])
  ).pipe(
    gulp.dest('.')
  );
});

Grunt

Add Grunt PostCSS to your build tool:

npm install grunt-postcss --save-dev

Use PostCSS Sass in your Gruntfile:

grunt.loadNpmTasks('grunt-postcss');

grunt.initConfig({
  postcss: {
    options: {
      use: [
        require('@csstools/postcss-sass')(/* dart-sass options */)
      ]
    },
    dist: {
      src: '*.css'
    }
  }
});

Options

PostCSS Sass options are directly forwarded to dart-sass options.

版本与发布记录

@csstools/postcss-sass 共发布 9 个版本,首次发布于 2017/12/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
5.1.1latest2023/12/292 年前
5.1.02023/12/282 年前
5.0.12022/03/094 年前
5.0.02022/02/144 年前
4.0.02019/01/247 年前
3.0.02018/10/058 年前

关于 @csstools/postcss-sass 的常见问题

@csstools/postcss-sass 是什么?

Use Sass as a PostCSS plugin

如何安装 @csstools/postcss-sass?

在项目目录运行 npm install @csstools/postcss-sass,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:postcss(^8.4.6)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@csstools/postcss-sass 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/csstools__postcss-sass 是否存在。

@csstools/postcss-sass 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@csstools/postcss-sass 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^12 || ^14 || >=16。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@csstools/postcss-sass 可以商用吗?

@csstools/postcss-sass 使用 CC0-1.0 许可。作者放弃著作权,可不受限制地使用。以上为概括,不构成法律意见,请以许可原文为准。

@csstools/postcss-sass 的下载量有多少?

根据 npm 官方下载统计,@csstools/postcss-sass 在 2026/10/11 – 2026/11/09 这 30 天内被下载 193,278 次,日均约 6,443 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@csstools/postcss-sass 还在维护吗?

最新版本 5.1.1 发布于 2023/12/29(2 年前);至今共发布 9 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/12/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。