将一组文件(动态地)与一个静态文件连接/最小化

Concatenate/Minify set of files (dynamically) with one static file

本文关键字:文件 静态 一个 连接 最小化 动态 一组      更新时间:2023-09-26

我想连接并缩小多个文件,每个文件都有相同的静态文件。示例:

src/folder1/my.js
src/folder2/my.js
src/folder3/my.js

并将这些my.js文件中的每一个与一个单独的folder_global'global.js连接起来,但仍将其称为my.js并将其移动到构建文件中,因此

build/folder1/my.js
build/folder2/my.js
build/folder2/my.js

现在每个文件都包含global.js。我似乎无法让grunt-uglify或grunt-concat准确地做到这一点,或者我只是没有正确使用它们。

以下是我试图对Gruntfile中的丑女做的事情:

uglify: {
  newFiles: {
    files: [{
      expand: true,
      cwd: '',
      src: ['files/**/my.js', 'folder_global/global.js'],
      dest: 'build/'
    }]
   }
 }

好吧,所以我想我能弄清楚,而且很简单。这可能不是最好的方法,所以如果有更好的方法,请告诉我。我想我会把它发布出来,以防对某人有所帮助。只是要求我使用带有grunt contrib concat:的过程选项

concat: {
  dist: {
    options: {
      process: function(src, filepath) {
        var global1 = 'file/global1.js';
        var global2 = 'file/global2.js';
        var globalSrc = grunt.file.read(global1);
        var readySrc = grunt.file.read(global2);
        return global1.concat(src, global2);
       },
    },
    files: [{
      expand: true,
      cwd: '',
      src: ['src/**.js'],
      dest: 'build/'
    }],
  },
}