r.js可以解决用npm安装的依赖项吗?

时间:2015-10-22 18:37:28

标签: javascript node.js r.js

我已经使用npm install requirejs从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 docs知道它可以处理用npm安装的模块,所以我在这里尝试使用之前与npm install jquery一起安装的jquery

// b.js

define(['jquery'], function($) {
    console.log('B', $);
});

但是,当我正在运行main.js时,我收到了一条错误消息,指出r.js无法找到名为jquery.js的文件。

所以基本上我的问题是我错过了什么,或者不能通过npm对r.js进行查找?

更新:以下是MCVE的github回购 - https://github.com/sintell/rjs_mcve

1 个答案:

答案 0 :(得分:0)

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