Node.js r、 来自节点脚本的js?
我觉得这一定很明显,但我却无法理解 我想从节点模块而不是命令行运行requirejs的r.js编译,我看到的每一个文档都显示了命令行选项。这就是我想要的:Node.js r、 来自节点脚本的js?,node.js,requirejs,r.js,Node.js,Requirejs,R.js,我觉得这一定很明显,但我却无法理解 我想从节点模块而不是命令行运行requirejs的r.js编译,我看到的每一个文档都显示了命令行选项。这就是我想要的: var r = require('requirejs'); r('./build/common.js'); r('./build/app-main.js'); 如果有更好的方法,让我解释一下潜在的动机: 我有几个不同的build.js文件,我想在这些文件上运行r.js(公共依赖项和主应用程序的独立包)。我想将其封装在一个gulpfile或G
var r = require('requirejs');
r('./build/common.js');
r('./build/app-main.js');
如果有更好的方法,让我解释一下潜在的动机:
我有几个不同的build.js文件,我想在这些文件上运行r.js(公共依赖项和主应用程序的独立包)。我想将其封装在一个gulpfile或GrunFile中,两者都运行,而不需要像grunt和gulp require.js插件那样将所有的r.js配置放在实际的grunt/gulp文件中。将r.js配置保留在单独的build/*.js文件中可以让我们在需要时使用grunt/gulp或命令行
有什么方法可以做到这一点吗?将优化器用作节点模块,但它并不在最明显的位置。这是文档中给出的示例:
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
});
谢谢你,这让我走上了正轨。你是对的,文档不是最明显的地方。我最初尝试过r.optimize('build/app main.js');这根本不起作用,所以我放弃了,但是在看到你的答案并知道这是正确的路径之后,我深入研究了r.js源代码,发现它将接受一个数组中的文件。谢谢