javascript - 使用一个静态文件(动态)连接/缩小一组文件

标签 javascript gruntjs

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

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

最佳答案

好的,所以我想我能够弄清楚并且相当简单。这可能不是最好的方法,所以如果有更好的方法,请告诉我。我想我会把它发布出来以防它对某人有帮助。只是要求我将 process 选项与 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/'
    }],
  },
}

关于javascript - 使用一个静态文件(动态)连接/缩小一组文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22924818/

相关文章:

javascript - 使用 RequireJS 加载其他地方不需要的文件

node.js - 使用 grunt-mocha-test 创建测试组

javascript - Grunt - 将多个文件缩小/处理为一个

javascript - 如何导出浏览器化模块以供浏览器使用?

javascript - 像文本而不是数字一样读取值

javascript - 硬编码文件路径而不是手动输入文件

javascript - 如何使用全选表中的复选框来获取所有数据?

javascript - 使用扩展克隆时如何更新原始版本

javascript - 如何在 Grunt 任务中保持服务器监听运行?

javascript - 如何在同一个闭包中使用多个 grunt 任务?