Gruntjs 如何缩小不同文件夹中的css文件,以避免';你不觉得有什么问题吗?
这是我的GruntJS cssmin脚本Gruntjs 如何缩小不同文件夹中的css文件,以避免';你不觉得有什么问题吗?,gruntjs,yeoman,Gruntjs,Yeoman,这是我的GruntJS cssmin脚本 cssmin: { add_banner: { options: { banner: '/* Minified on <%= grunt.template.today("yyyy-mm-dd hh:MM:ss")%> by GruntJS-cssmin */' }, files: { 'public/home_assets/css/compressed.min.css': [
cssmin: {
add_banner: {
options: {
banner: '/* Minified on <%= grunt.template.today("yyyy-mm-dd hh:MM:ss")%> by GruntJS-cssmin */'
},
files: {
'public/home_assets/css/compressed.min.css': [
'public/home_assets/css/**/*.css',
'public/home_assets/vendor/**/*.css'
]
}
}
},
cssmin:{
添加标题:{
选项:{
横幅:'/*由GruntJS cssmin缩小*/'
},
档案:{
“public/home\u assets/css/compressed.min.css”:[
“公共/家庭资产/css/***.css”,
“公共/家庭资产/供应商/***.css”
]
}
}
},
它可以正常工作并缩小CSS文件。但是,CSS/vendorname
文件夹下的CSS文件缩小到CSS
文件夹中,因此它们的路径变得混乱
例如,/image.jpg
应该是/vendor/vendorname/image.jpg
,否则它们的相关性会被破坏
我如何解决这个问题?我可以使用什么样的技巧?您可以通过将
cssmin
的grunt.initConfig
行修改为类似以下内容,将grunt contrib cssmin
配置为处理具有相应目标的多个目标目录:
files: {
'./css/compressed.min.css': ['./css/**/*.css'],
'./vendor/compressedvendor.min.css':['./vendor/**/*.css']
}
编辑:
根据您在下面的评论,您想要的是一个文件,而不是两个
显示了如何使用grunt contrib concat
首先将文件连接在一起,然后可以运行cssmin
(而不是示例中的uglify
)
因此,您的Gruntfile.js可能如下所示:
module.exports = function (grunt) {
grunt.initConfig({
concat: {
dist: {
src: ['./css/**/*.css', './vendor/**/*.css'],
dest: './dist/tmp/concat.css'
}
},
cssmin: {
dist: {
files: {
'./dist/compressed.min.css': [ './dist/tmp/concat.css' ]
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default', ['concat', 'cssmin']);
}
正如您在上面的代码中看到的,您可能需要考虑是否应该有一个源文件和目标文件结构,以便更容易管理文件。您可能还想查看其他
grunt contrib
插件,如-clean
,以帮助自动化更多的构建任务…考虑过这一点,但随后会有2个对我的web服务器的请求。我给出的答案是否解决了您提出的问题?我只是好奇,如果我误读了你的原始问题,或者如果你只是在这里大声思考你的选择……如果我在每个文件夹中都有一个缩小的css,那么它违反了压缩和缩小的整个要点。输出最多必须是1个css文件,所以您的答案不能解决我的问题。