r.js从节点脚本?

我觉得这一定是如此明显,但它逃避了我。

我想从节点模块而不是从命令行运行requirejs的r.js编译,而且我所看到的每一个文档都显示了命令行选项。 像这样的事情是我正在寻找的东西:

var r = require('requirejs'); r('./build/common.js'); r('./build/app-main.js'); 

让我来解释一下如果有更好的方法来做这件事的根本动机:

我有几个不同的build.js文件,我想在其上运行r.js(单独的常见依赖包和主应用程序包)。 我想把它包装在一个运行这两个文件的gulp文件或grunt文件中,而不需要将所有的r.jsconfiguration文件放在实际的grunt / gulp文件中,就像grunt和gulp require.js插件似乎都可以。 将r.jsconfiguration保留在单独的build / *。js文件中,可以让我们在需要时使用grunt / gulp OR命令行。

任何方式来完成这个?

使用优化器作为Node模块是有logging的,但它并不是最明显的地方。 这是文档给出的例子:

 var requirejs = require('requirejs'); var config = { baseUrl: '../appDir/scripts', name: 'main', out: '../build/main-built.js' }; requirejs.optimize(config, function (buildResponse) { //buildResponse is just a text output of the modules //included. Load the built file for the contents. //Use config.out to get the optimized file contents. var contents = fs.readFileSync(config.out, 'utf8'); }, function(err) { //optimization err callback });