Javascript 如何使用grunt.js缩小整个文件夹内容

Javascript 如何使用grunt.js缩小整个文件夹内容,javascript,client-server,gruntjs,Javascript,Client Server,Gruntjs,不要单独提及每个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
, 这是缩小和压缩整个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/
目录,您将得到
a.js
+
b.js
的串联和缩小结果,但
foo/
目录中没有任何内容

如果您还想获取
foo/
目录(以及所有其他嵌套目录)中的所有内容,该怎么办?将表达式从
['scripts/*.js']
更改为
['scripts/***.js']
——或任何最小匹配表达式:

由于grunt
min
任务使用
expandFiles
函数,因此您可以使用任何minimatch表达式:

在这个任务中使用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文件。

可能重复的