GruntJS和自定义任务:需要RequireJS模块

时间:2015-05-20 12:58:03

标签: gruntjs requirejs grunt-contrib-requirejs

我对GruntJS很新,我想知道是否有可能加载一些RequireJs模块来处理它们并在JS文件中写入结果。

我描述了我的情景:

我有一个基于RequireJs的项目,包含许多文件。 我想连接/缩小/等项目来部署它并提高性能等。

优化与grunt-contrib-requirejs插件完美配合。 grunt-contrib-requirejs插件适用于main.js文件,我需要动态生成它。

我想生成main.js处理项目的一些RequireJS模块(称为fileA.jsfileB.js)。 我想使用生成的main.js来运行grunt-contrib-requirejs插件。

所以任务序列如下:

自定义任务:

  1. 加载fileA.jsfileB.js
  2. 将它们合并在一起
  3. 在新的JS文件中写入合并的结果
  4. grunt-contrib-requirejs任务:

    1. 使用生成的main.js文件优化项目
    2. 你知道我怎么能做到这一点? 我对使用/ tools / libs的方式没有任何限制。

1 个答案:

答案 0 :(得分:1)

您可以在Grunt中加载RequireJS,如下所示:



var requirejs = require('requirejs');




然后,您可以通过Grunt获取树中的所有fileX.js文件:



grunt.file.recurse('js/modules/', function callback(abspath, rootdir, subdir, filename) {
    if (filename === 'fileX.js') {
      /* Do something here. */  
    }
}




获得所需的所有模块后,可以使用r.js缩小/连接它们。