【问题标题】:Concatenate/Minify set of files (dynamically) with one static file用一个静态文件(动态)连接/缩小一组文件
【发布时间】:2014-04-07 23:16:43
【问题描述】:

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

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 做的事情:

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

【问题讨论】:

  • 你能分享你的 Gruntfile.js 吗?看到它可能会帮助人们提出一个不会与您正在做的其他事情发生冲突的解决方案。还要列出您希望与这些文件交互的任何其他任务。

标签: javascript gruntjs


【解决方案1】:

好的,所以我想我能够弄清楚,而且相当简单。这可能不是最好的方法,所以如果有更好的方法,请告诉我。以为我会发布它以防万一它可以帮助某人。只要求我使用带有 grunt-contrib-concat 的 process 选项:

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/'
    }],
  },
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 2014-09-20
    • 2018-12-24
    • 2021-11-28
    • 1970-01-01
    • 2023-02-07
    相关资源
    最近更新 更多