我已经使用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
答案 0 :(得分:0)
要求使用AMD模块语法,但NPM使用CommonJS。您可以告诉require(使用paths
配置)在哪里找到模块,但在许多情况下它们仍然不兼容。