编译时间在从grunt contrib sass切换到grunt sass之后是相同的.两者所花费的时间与我使用Ruby



我听说过"闪电侠"Libsass。我从鲁比换成了格兰特。但无论我使用哪种编译方法(Ruby、grunt-contrib-sass、grunt-sass),速度都是一样的。编译引导scs 15秒。

grunt.js:

module.exports = function (grunt) {
    require('time-grunt')(grunt);
    grunt.initConfig({
        watch: {
            src: {
                files: ['public_html/sass/*.scss'],
                tasks: ['compass:dev']
            },
            options: {
                livereload: true
            }
        },
        compass: {
            dev: {
                options: {
                    config: 'config.rb'
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-compass');
    grunt.loadNpmTasks('grunt-sass');
    grunt.loadNpmTasks('grunt-contrib-watch');
};

config.rb:

# Require any additional compass plugins here.
require 'bootstrap-sass'
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "public_html/css"
sass_dir = "public_html/sass"
images_dir = "public_html/images"
javascripts_dir = "public_html/js"
fonts_dir = "public_html/fonts"
# You can select your preferred output style here (can be overridden via the command line):
# output_style = :expanded or :nested or :compact or :compressed
# output_style = :expanded
environment = :development
# To enable relative paths to assets via compass helper functions. Uncomment:
relative_assets = true
# To disable debugging comments that display the original location of your selectors. Uncomment:
# line_comments = false
line_comments = true
sourcemap = true
sass_options = {:sourcemap => true}
# If you prefer the indented syntax, you might want to regenerate this
# project again passing --syntax sass, or you can uncomment this:
# preferred_syntax = :sass
# and then run:
# sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass

在您的配置中,您仍在使用Compass编译SCSS文件,grunt-sass任务既没有配置也没有运行。由于Compass是基于Ruby的,并且仍在使用Ruby SASS预处理器,因此您在编译时没有看到任何改进。

Libsass是SASS编译器的C/C++实现,它完全取消了Ruby。在这篇博客文章的评论中,提到Compass有很多Ruby依赖性,因此在可预见的未来不会移植到Libsass因此,如果您严重依赖Compass混合插件和函数,则必须使用Ruby预处理器

如果你可以取消指南针,你可以使用以下配置的grunt-sass

module.exports = function(grunt) {
  grunt.initConfig({
    watch: {
        src: {
            files: ['public_html/sass/*.scss'],
            tasks: ['sass:dev']
        },
        options: {
            livereload: true
        }
    },
    sass: {
        options: {
            sourceMap: true,
            outputStyle: 'expanded'
        },
        dev: {
          files: [{
            expand: true,
            src: ['public_html/sass/**/*.{scss,sass}'],
            dest: 'public_html/css/'
          }]
        }
    }
  });
  grunt.loadNpmTasks('grunt-sass');
  grunt.loadNpmTasks('grunt-contrib-watch');
}

查看grunt sass页面,了解有关可用选项的更多信息。

最新更新