【发布时间】:2012-11-22 16:35:00
【问题描述】:
注意:这个问题只与 Grunt 0.3.x 相关,留作参考。有关最新 Grunt 1.x 版本的帮助,请参阅我在此问题下方的评论。
我目前正在尝试使用 Grunt.js 设置一个自动构建过程,以首先连接然后缩小 CSS 和 JavaScript 文件。
我已经能够成功地连接和缩小我的 JavaScript 文件,尽管每次我运行 grunt 时它似乎只是附加到文件而不是覆盖它们。
至于缩小甚至连接 CSS,我目前还无法做到这一点!
就 grunt CSS 模块而言,我尝试过使用 consolidate-css、grunt-css 和 cssmin,但无济于事。无法理解如何使用它们!
我的目录结构如下(是一个典型的node.js应用):
- app.js
- grunt.js
- /public/index.html
- /public/css/[各种css文件]
- /public/js/[各种javascript文件]
这是我的 grunt.js 文件当前在我的应用程序的根文件夹中的样子:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
concat: {
dist: {
src: 'public/js/*.js',
dest: 'public/js/concat.js'
}
},
min: {
dist: {
src: 'public/js/concat.js',
dest: 'public/js/concat.min.js'
}
},
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
eqnull: true,
node: true
},
globals: {
exports: true,
module: false
}
},
uglify: {}
});
// Default task.
grunt.registerTask('default', 'concat min');
};
所以总结一下,我需要两个问题的帮助:
- 如何将
/public/css/文件夹下的所有css 文件连接并缩小到一个文件中,例如main.min.css - 为什么 grunt.js 继续追加到
/public/js/下的串联和缩小的 JavaScript 文件concat.js和concat.min.js,而不是每次运行命令grunt时都覆盖它们?
2016 年 7 月 5 日更新 - 从 Grunt 0.3.x 升级到 Grunt 0.4.x 或 1.x
Grunt.js 已移至Grunt 0.4.x 中的新结构(该文件现在称为Gruntfile.js)。请参阅我的开源项目 Grunt.js Skeleton 以获取有关为 Grunt 1.x 设置构建过程的帮助。
从Grunt 0.4.x 移动到Grunt 1.x should not introduce many major changes。
【问题讨论】:
标签: javascript css concatenation minify gruntjs