AMD格式是否要求模块为单件
Does AMD format require that modules are singletons?
AMD规范中是否有任何规定要求模块必须提供相同的对象?假设一个需要的模块是提供给所有需要的模块的单个实例似乎是一种相当常见的做法,但有什么可以防止模块加载器将加载的模块视为缓存的(可能在某个时候重新加载它们)?
例如(假设地说),AMD加载程序是否可以保证将消息总线模块的同一实例分布在不同的依赖模块中,以便它们可以使用它来相互发送消息?
是的,模块应该是singleton。
来自规格:
define()函数
工厂
第三个参数factory是一个函数,应该执行它来实例化模块或对象。如果工厂是一个函数,它应该只执行一次。如果工厂参数是一个对象,则应将该对象指定为模块的导出值。
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 节点Js:How to catch a“;没有这样的文件或目录“;读取线模块出错
- 如何从模块链中调用函数.导出到节点中
- 尽管链接成功并已成功下载,但未找到NPM模块
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- 从模块内部访问Express装载路径
- RequireJS向模块传递配置总是返回undefined
- Node.js正在更改应用程序以使用集群模块
- 在Meteor项目中安装并包含npm模块后出错
- 模块模式和这个
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- 找不到模块捆绑包
- JavaScript命名约定;静态“;类或模块
- 显示模块模式在Knockout中设置模型的新实例
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- Javascript模块系统I'I’我正在努力,但搞不明白
- 如何捆绑循环相关模块
- 如何捆绑commonjs模块,除非指定需要
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- AMD格式是否要求模块为单件