GX博客

分享个人 Full-Stack JavaScript 项目开发经验

使用Grunt的grunt-contrib-compass实时编译Sass

如果你还没使用过 Grunt,可先阅读Grunt的安装及其插件的选择。本文介绍如何使用 Grunt 的 grunt-contrib-compass 插件在构建 UI 框架时为我们实时编译使用 Compass 的 Sass 文件。


安装 grunt-contrib-compass 插件开发依赖:

yarn add grunt-contrib-compass --dev

在 Gruntfile 配置中添加插件的配置:

'use strict';

module.exports = function (grunt) {

    const {dir} = require('./Grunt.config');

    grunt.initConfig({
        compass: {
            options: {
                sassDir: `${dir.sass}`,
                cssDir: `${dir.cssDev}`,
                cacheDir: `${dir.sassCache}`,
                sourcemap: true,
                outputStyle: 'expanded'
            },
            watchScss: {
                options: {
                    watch: true // 监听自动编译
                }
            },
            dist: {
                options: {
                    watch: false // 手动编译
                }
            }
        }
    });

    require('load-grunt-tasks')(grunt);

    // 编译 sass 成 css
    grunt.registerTask('sass', ['compass:dist']);

    // 监听编译 sass 成 css
    grunt.registerTask('sass-watch', ['compass:watchScss']);
}

在配置中,我们设置的主要参数包括:sass 目录路径、编译后生成 css 的路径、sass 缓存目录路径、开启 sourcemap 、编译输出风格为展开和是否监听并实时编译。在 compass 任务中,我们设置了 watchScss 和 dist 两个目标,分别配置为实时监听和一次性编译。

使用该插件需要注意的问题:

  • 插件依赖于 Ruby 环境和 Sass、Compass 的安装,若还没了解,可参阅Sass环境安装
  • scss 文件中使用中文注释时,需要在头部设置编码 @charset "utf-8";
  • 调试时要检查浏览器的 CSS source maps 设置是否已经启用。

要了解 grunt-contrib-compass 插件的详细说明,请点击这里

版权声明:

本文为博主原创文章,若需转载,须注明出处,添加原文链接。

https://leeguangxing.cn/blog_post_44.html