[英]how to minify a whole folder content using grunt.js
而不是单独提及每个js
,这是缩小和合并整个js文件夹的方法吗?
module.exports = function(grunt) {
grunt.initConfig({
min: {
dist: {
src: ['scripts/*.js'],
dest: 'dist/built.min.js'
}
}
});
};
是的,如果您只想串联并缩小一级scripts
目录中的所有.js
文件,那是正确的。
例如,如果scripts/
包含a.js
和b.js
以及foo/
目录, b.js
得到a.js
+ b.js
的串联和缩小结果,但foo/
目录中没有任何内容。
如果还要将所有内容都保存在foo/
目录(以及所有其他嵌套目录)中,该怎么办? 将表达式从['scripts/*.js']
更改为['scripts/**/*.js']
。js ['scripts/**/*.js']
或任何最小匹配表达式: https : //github.com/gruntjs/grunt/blob/master/docs /api_file.md#gruntfileexpand
由于grunt min
任务使用expandFiles
函数,因此您可以使用任何minimatch表达式: https : //github.com/gruntjs/grunt/blob/master/tasks/min.js#L21
在此任务中使用minimatch表达式的不利之处在于,很难理解文件的连接顺序 ,这通常非常重要。 如果这很重要,请小心。
另外,请注意,新版本的grunt( 0.4
)即将推出。 这将使此答案过时,因为min
任务已在0.4
更改(但仍支持minimatch表达式)。
如果您的文件夹仅包含js文件,那么您是正确的,但是如果您的文件夹具有嵌套文件夹,例如foo
是我们的主要js文件夹,其中我们还有另一个嵌套文件夹loo
并且在其中也有一些js文件,例如:
foo:
mu.js
su.js
loo:
ku.js
wu.js
在这种情况下,您必须以以下方式修改代码:
module.exports = function(grunt) {
grunt.initConfig({
min: {
dist: {
src: 'foo/**/*.js',
dest: 'dist/foo.min.js'
}
}
});
};
通过这种方式,您可以最小化foo
文件夹的所有js文件,甚至嵌套文件夹文件。 我建议在最小化之前使用cocat js文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.