咕噜指南针和手表编写缓慢
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 watch
和compass 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