2014-09-24 97 views
0

我是Grunt的新人,我无法找到我要找的东西。Grunt可以将特定文件夹中的所有js/css文件合并到一个js/css文件中吗?

我有这个文件夹的结构配置:

app/ 
public/ 
    assets/ 
     ... some javascript/css libs like jQuery, Bootstrap, etc 
    css/ 
    js/ 
    img/ 

我希望做的是在public/assets/所有js文件压缩成一个assets.js文件将是js/assets.js,并为所有的做同样的在css/assets.css中将css文件转换为assets.css

此外,我想这两个assets.js/css文件被压缩。

解决方案的链接或解决方案的一些开始是我所需要的。

谢谢!

回答

1

首先,您需要连接文件,然后通过缩小器运行它们。 Grunt有很多插件可以完成这些工作,但是一些比较流行的插件是grunt-contrib-concatgrunt-contrib-uglifygrunt-contrib-cssmin

这些任务有很多选项可供选择,以满足您的需求,但这应该有助于您开始。

对于concat任务示例配置会是这样的:

grunt.initConfig({ 
    concat: { 
    options: { 
     separator: ';', 
    }, 
    js: { 
     src: ['public/assets/a.js', 'public/assets/b.js', 'public/assets/c.js'], 
     dest: 'public/js/assets.js', 
    }, 
    js: { 
     src: ['public/assets/a.css', 'public/assets/b.css', 'public/assets/c.css'], 
     dest: 'public/css/assets.css', 
    }, 
    }, 
}); 

然后你缩小JS任务:

uglify: { 
    js: { 
     files: { 
     'public/assets/js/assets.min.js': 'public/assets/js/assets.js' 
     } 
    } 
    } 

最后,CSS缩小任务:

cssmin: { 
    files: { 
    'public/assets/css/assets.min.css' : 'public/assets/css/assets.css' 
    } 
} 
相关问题