[英]grunt + sass: output 2 css files at the same time
我想让咕comp编译我的Sass的压缩版和压缩版。 我可以编译一个或另一个,但不能同时编译。 我努力了:
sass: {
dist: {
options: {
style: 'compressed'
},
files: {
'style.min.css': 'css/main.scss',
}
}
},
sass: {
dist: {
options: {
style: 'compact'
},
files: {
'style.css': 'css/main.scss',
}
}
}
并且:
sass: {
dist: {
options: {
style: 'compressed'
},
files: {
'style.min.css': 'css/main.scss',
}
},
dist: {
options: {
style: 'compact'
},
files: {
'style.css': 'css/main.scss',
}
}
}
但两者都没有奏效。 有什么解决方案?
看一下我在项目中采用的方法,我对此可能会犯错,但我的意图与创建一个文件以提高可读性而创建另一个文件以达到缩小目的类似。
sass: {
appStyles: {options: {style: 'expanded', sourcemap: 'none'}, files: {'styles/app.css': 'styles/app/main.scss'}},
appStylesMinified: {options: {style: 'compressed', sourcemap: 'none'}, files: {'styles/app.min.css': 'styles/app.css'}}
}
请注意,我为appStyles
和appStylesMinified
选择的style
分别被expanded
和compressed
。 另外, compressed
版本采用新创建的app.css
文件而不是main.scss
进一步创建app.min.css
。
当我仍处于开发模式时,我发现此app.css
在调试中也很有用。 但是,当然,当一切准备就绪后, app.min.css
便从那里开始。
为什么要压缩saas文件,您可以直接在saas文件中使用@import
,而您的单个文件将准备就绪,然后使用compress。 只需创建诸如main.scss之类的文件,然后导入其中的所有saas文件,然后压缩此文件即可。
编辑:
grunt.initConfig({
sass: {
dist: {
files: {
'main.css': 'main.scss',
'main1.css': 'main1.scss'
}
}
}
});
我发现以下代码可以正常工作。 我grunt-contrib-cssmin
依靠sass来输出具有不同压缩率的多个文件,而是让sass输出了紧凑的样式,然后使用grunt-contrib-cssmin
进一步压缩css。
module.exports = function(grunt) {
grunt.initConfig({
sass: {
dist: {
options: {
style: 'compact'
},
files: {
'style.css': 'css/main.scss',
'style1.css': 'css/main1.scss',
}
}
},
cssmin: {
dist: {
files: {
'style.min.css': ['style.css'],
'style1.min.css': ['style1.css']
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.registerTask('default', ['sass', 'cssmin']);
};
您甚至不需要紧凑选项。 这将使输出的CSS更易于阅读。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.