GruntJS 和自定义任务:需要一个 RequireJS 模块
GruntJS and custom task: require a RequireJS module
我对 G运行tJS 很陌生,我想知道是否可以有一个任务加载一些 RequireJs 模块来处理它们并将结果写入 JS 文件。
我描述了我的场景:
我有一个包含许多文件的基于 RequireJs 的项目。
我想 concatenate/minify/etc 项目来部署它并提高性能等
优化与 grunt-contrib-requirejs
插件完美配合。
grunt-contrib-requirejs
插件使用 main.js
文件,我需要动态生成它。
我想生成 main.js
处理项目的一些 RequireJS 模块(称它们为 fileA.js
和 fileB.js
)。
我想使用生成的 main.js
到 运行 grunt-contrib-requirejs
插件。
所以任务序列应该是这样的:
自定义任务:
- 加载
fileA.js
和 fileB.js
- 将它们合并在一起
- 在新的 JS 文件中写入合并结果
grunt-contrib-requirejs
任务:
- 使用生成的
main.js
文件优化项目
你知道我怎样才能做到这一点吗?
我对使用 way/tools/libs 没有任何限制。
可以在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
到 minify/concatenate 它们。
我对 G运行tJS 很陌生,我想知道是否可以有一个任务加载一些 RequireJs 模块来处理它们并将结果写入 JS 文件。
我描述了我的场景:
我有一个包含许多文件的基于 RequireJs 的项目。 我想 concatenate/minify/etc 项目来部署它并提高性能等
优化与 grunt-contrib-requirejs
插件完美配合。
grunt-contrib-requirejs
插件使用 main.js
文件,我需要动态生成它。
我想生成 main.js
处理项目的一些 RequireJS 模块(称它们为 fileA.js
和 fileB.js
)。
我想使用生成的 main.js
到 运行 grunt-contrib-requirejs
插件。
所以任务序列应该是这样的:
自定义任务:
- 加载
fileA.js
和fileB.js
- 将它们合并在一起
- 在新的 JS 文件中写入合并结果
grunt-contrib-requirejs
任务:
- 使用生成的
main.js
文件优化项目
你知道我怎样才能做到这一点吗? 我对使用 way/tools/libs 没有任何限制。
可以在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
到 minify/concatenate 它们。