我有一个内部使用AMD模块的库(requirejs)。我想将这些模块中的一些方法作为一个公共API返回。目前,我正在使用一个同步的require调用来完成这个任务。
例:
// library
define("a", function(){
define("b", ['somedep','anotherdep'], function(dep, dep2){
return { something: "x"};
});
return {
b: require('b').something
};
});
// then to use it.
require(['a'], function(a){
});但是,这会导致错误。错误:尚未为上下文加载模块名"b“:_。使用要求([])
我不想公开外部的内部定义调用(通过平平所有定义),因为我不希望库使用者能够使用这些内部模块。
发布于 2015-05-01 01:05:50
最后,我们将项目更改为使用es6模块、bable和browserify。这使得一切都是同步的,而不是异步的。
发布于 2015-04-24 09:14:11
不能嵌套模块定义。试一试:
define("b", ['somedep','anotherdep'], function(dep, dep2){
return { something: "x"};
});
define("a", ['b'], function(b){
return {
b: b.something
};
});
// then to use it.
require(['a'], function(a){
});发布于 2015-04-24 09:14:38
// Defined module "b"
define("b", ['somedep','anotherdep'], function(dep, dep2){
return { something: "x"};
});
// Defined module "a"
define("a", ["b"], function(b){
return {
b: b.something
};
});
// then to use it.
require(['a'], function(a){
});你可以做这样的事
https://stackoverflow.com/questions/29843220
复制相似问题