我是Grunt,Compass和Sass的新手。每当我对.scss
文件进行更改时,运行任务需要将近25秒。我一定做错了什么。这是我的设置:
我的scss
部分是这样的:
_buttons.scss, _colors.scss, _typography.scss
等等。这些是由_base.scss
文件导入的。这反过来又与main.scss
一起导入我的compass
文件。
我的gruntfile
看起来像这样:
module.exports = function( grunt ){
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.initConfig({
//UGLIFY
uglify:{
options: {
beautify:true
},//options
my_target: {
files:{
'js/main.js': ['_/js/partials/*.js']
}//files
}//my target
},//uglify
//COMPASS
compass: {
dev:{
options: {
config: 'config.rb'
}//options
}//development mode
},//compass
//WATCH
watch:{
options: {
livereload:true,
spawn: false
},
scripts: {
files: ['_/js/partials/*.js'],
tasks:['uglify']
},//scripts
sass: {
files: ['_/sass/**/*.scss'],
tasks: ['compass:dev']
},//sass
html: {
files: ['*.html']
},//html
}//watch
}),//init config
grunt.registerTask('default', 'watch')
}//exports
我读过的其他问题建议将spawn
设置为false(我认为默认情况下这是默认情况),但这没有任何区别。 uglify任务只需要一两秒钟。那么我的sass文件出了什么问题?
更新
如果我运行grunt -verbose
,这就是输出:
看起来Grunt正在观看每个文件,而不仅仅是我指定的文件。即php目录。
答案 0 :(得分:2)
我想,你应该检查grunt-sass(用于编译sass https://www.npmjs.com/package/grunt-sass的c ++库)和用于生成精灵的spritesmith(https://www.npmjs.com/package/grunt-spritesmith)
我有同样的问题,当我在一个小项目上使用指南针时,编译样式需要3秒,而生成精灵需要7秒。