不是单独提及每个js,这是缩小和连接整个 js 文件夹的方法吗?
module.exports = function(grunt) {
grunt.initConfig({
min: {
dist: {
src: ['scripts/*.js'],
dest: 'dist/built.min.js'
}
}
});
};
不是单独提及每个js,这是缩小和连接整个 js 文件夹的方法吗?
module.exports = function(grunt) {
grunt.initConfig({
min: {
dist: {
src: ['scripts/*.js'],
dest: 'dist/built.min.js'
}
}
});
};
是的,如果您只想将目录.js中的所有文件连接并缩小scripts一层,这是正确的。
例如,如果scripts/包含a.jsandb.js和foo/目录,您将获得a.js+的连接和缩小结果,b.js但foo/目录中没有任何内容。
如果您还想获取foo/目录(以及所有其他嵌套目录)中的所有内容怎么办?将表达式从更改['scripts/*.js']为['scripts/**/*.js']-- 或任何 minimatch 表达式:
https ://github.com/gruntjs/grunt/blob/master/docs/api_file.md#gruntfileexpand
您可以使用任何 minimatch 表达式,因为 gruntmin任务使用该expandFiles函数:
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'
}
}
});
};
通过这样做,您可以最小化文件夹的所有 js 文件,foo甚至嵌套文件夹文件。我建议在最小化之前使用 cocat js 文件。