繁体   English   中英

requirejs如何加载commonjs包?

[英]How requirejs load commonjs packages?

我遵循http://requirejs.org/docs/api.html#packages来学习RequireJ如何加载CommonJS模块,但我无法理解。

我有下面的文件。

foo / foo.js main.js require.js

foo / foo.js的内容:

exports.bar = '1234';
exports.xyz = function noop() {};

main.js:

requirejs.config({
    packages: [{name:'foo', main: 'foo'}]
});

require(['foo'], function(foo) {
   console.log(foo.bar);
});

它说看不懂栏未定义

您已经错过了在问题中链接到的文档的重要部分:

尽管软件包可以具有CommonJS目录布局, 但模块本身应采用RequireJS可以理解的模块格式 规则的例外:如果使用r.js节点适配器,则模块可以采用传统的CommonJS模块格式。 如果需要将传统的CommonJS模块转换为RequireJS使用的异步模块格式,则可以使用CommonJS转换工具。

(已添加重点。)

这不是RequireJS可以理解的:

exports.bar = '1234';
exports.xyz = function noop() {};

它必须是:

define(function(require, exports, module) {
    exports.bar = '1234';
    exports.xyz = function noop() {};
});

您可以手动进行此转换,也可以使用r.js -convert为您进行转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM