Javascript r.js能否解决与npm一起安装的依赖关系?

Javascript r.js能否解决与npm一起安装的依赖关系?,javascript,node.js,r.js,Javascript,Node.js,R.js,我已经使用npm安装要求js从npm安装了r.js 我希望这个函数在使用node main.js运行时能够向控制台生成一些输出: // main.js var requirejs = require('requirejs'); requirejs.optimize({ baseUrl: STATIC_PATH + 'js', nodeRequire: require, include: ['a', 'b'], out: function(text) {

我已经使用npm安装要求js从npm安装了r.js

我希望这个函数在使用
node main.js运行时能够向控制台生成一些输出:

// main.js
var requirejs = require('requirejs');

requirejs.optimize({
    baseUrl: STATIC_PATH + 'js',
    nodeRequire: require,
    include: ['a', 'b'],
    out: function(text) {
        console.log(text);
    }
});
模块A和B的定义如下:

// a.js

define(['b'], function($) {
    console.log('A');
});
我从requirejs文档中知道,它可以处理使用npm安装的模块,所以这里我尝试使用以前使用
npm安装jquery安装的jquery

// b.js

define(['jquery'], function($) {
    console.log('B', $);
});
但是当我运行
main.js
时,我遇到了一个错误,表明r.js找不到名为
jquery.js
的文件

所以基本上我的问题是我是否遗漏了什么,或者不可能对通过npm安装的模块进行r.js查找


更新:这里是带有MCVE的github repo-

要求使用AMD模块语法,但NPM使用CommonJS。您可以告诉require(使用
路径
配置)在哪里可以找到模块,但在许多情况下它们仍然不兼容。

MCVE是一个很好的起点,但相应地,对于requirejs文档,它可以处理节点样式requires和节点模块。此外,jquery还可以用作amd模块,根据it github页面:我认为您已经将其反向使用了;您可以使用,但不能使用Require中的节点模块。也许我遗漏了一些东西,但您可以看到r.js如何从节点_模块解析dep。我只是想知道我是否能以某种方式使它与
requirejs.optimize
一起工作。再说一遍,该文档描述的与您要求的相反。这就是如何在节点脚本中使用Require来代替节点的
Require
。除非我误解了你的问题;您是为浏览器还是为节点构建?正如我的问题所述:我正在构建节点脚本,实际上我想在gulp任务中使用它。