咕噜指南针和手表编写缓慢

Grunt花了相当长的时间来编译css文件,我不确定这是否正常,但普通罗盘手表大约需要5秒钟。

所以问题是,如果有什么办法可以加快Grunt的编译时间,还是坚持罗盘观看会更好?

Running "compass:dist" (compass) task
♀unchanged images/sprite-sf580a96666.png
overwrite stylesheets/app.css (3.263s)
unchanged images/sprite-sf580a96666.png
overwrite stylesheets/app_fr.css (3.289s)
Compilation took 11.116s

Running "watch" task
Completed in 13.974s at Wed Dec 18 2013 13:53:05 GMT-0500 (Eastern Standard Time- Waiting...
OK
>> File "scss_core.scss" changed.

Gruntfile.js:

compass: {
        dist: {
            options: {
            config: 'config.rb'
            }
        }
    },

    watch: {
        sass: {
            files: ['scss/*.scss'],
            tasks: ['compass:dist'],
            options: {
                spawn: false,
            }
        },
        scripts: {
            files: ['js/*.js'],
            tasks: ['concat', 'uglify'],
            options: {
                spawn: false,
            }
        }
    }

});

与西蒙提到的关于grunt-contrib-compass的watch选项一样,你可以使用grunt-concurrent来同时运行两个进程,有效的grunt watchcompass watch

concurrent: {
    watch: {
        tasks: ['watch', 'compass:watch'],
        options: {
            logConcurrentOutput: true
        }
    }
},
compass: {
    watch: {
        options: {
            watch: true
        }
    }
}

如果您想在构建,部署或其他需要compile而不是watch任何其他应用程序时从Grunt运行指南针,则需要制作第二个罗盘任务并使用它:

compass: {
    // Compass grunt module requires a named target property with options.
    compile: {
        options: {}
    }
}

那么,您可以使用Grunt-contrib-compass watch选项来watch 。 这将产生指南针手表,这样你会有更好的表现。 虽然这不允许你观看多种类型的文件(例如,如果你也注意.coffee文件或者总是重建js等)。

如果你确实需要grunt-contrib-watch ,那么确保使用grunt任务激活sass缓存。 从你的配置粘贴在这里,它看起来像。 但缓存问题通常是指南针编译需要很长时间的原因; 所以如果我是你,我会再次检查我的Gruntfile.js。

另外,大量的图片处理和图像处理方法可能需要很长时间才能处理。


也许对这个晚会有点晚,但万一这有助于任何人:

我发现grunt-contrib-watch和sass的表现同样糟糕。 解决这个问题的最好方法似乎是使用不同的手表插件。 我发现grunt-watch-nospawn(而不是grunt-contrib-watch插件)编译sass要快得多。 相当显着 - 我看到两秒左右的改进。

如果你想进一步调整速度,你可以使用grunt-sass而不是grunt-contrib-sass,它使用libsass来提供另一个速度增加。

这与autoprefixer相结合,例如。 nDmitry的(不能链接,没有代表),这应该填补遗漏Compass留下的功能空白。

希望有所帮助。

链接地址: http://www.djcxy.com/p/78965.html

上一篇: Grunt with Compass and Watch compiles slow

下一篇: Gruntjs: why compiled scss to empty file? using grunt