2

我对 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 文件中写入合并的结果

grunt-contrib-requirejs任务:

  1. 使用生成的main.js文件优化项目

你知道我怎样才能做到这一点吗?我对使用方式/工具/库没有任何限制。

4

1 回答 1

1

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

var requirejs = require('requirejs');

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

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

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

于 2015-06-03T07:02:19.400 回答