注意:这个问题只与 Grunt 0.3.x 相关,留作参考。有关最新 Grunt 1.x 版本的帮助,请参阅我在此问题下方的评论。
我目前正在尝试使用 Grunt.js 设置一个自动构建过程,以首先连接然后缩小 CSS 和 JavaScript 文件。
我已经能够成功地连接和缩小我的 JavaScript 文件,尽管每次我运行 grunt 时它似乎只是附加到文件而不是覆盖它们。
至于缩小甚至连接 CSS,我目前还无法做到这一点!
就 grunt CSS 模块而言,我尝试使用consolidate-css
, grunt-css
&cssmin
但无济于事。无法理解如何使用它们!
我的目录结构如下(作为典型的 node.js 应用程序):
- 应用程序.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');
};
因此,总结一下,我需要两个问题的帮助:
- 如何将文件夹下的所有css文件连接并缩小
/public/css/
到一个文件中,比如说main.min.css
- 为什么 grunt.js 继续附加到连接和缩小的 javascript 文件
concat.js
,而不是concat.min.js
在/public/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
不应 引入 很多 重大 变化.