【发布时间】:2016-10-25 13:16:17
【问题描述】:
我有用于客户端路由和模板加载的小型库。 它由几个较小的模块构建而成,例如 Tpl、Router..
每个模块检查是否定义了库命名空间,然后将自己应用到它。
这里是代码:https://github.com/sgoran/micro
例如 Tpl 组件将自身绑定到 Micro 库(主库)
if(typeof Micro === "function" && Micro.prototype.isMicro){
Micro['Tpl'] = Tpl;
然后我用构造函数调用库
var micro = new Micro(properties);
问题是如果我想创建另一个实例...依赖关系会在内部发生冲突
var micro2 = new Micro(properties);
对于构建,我使用 gulp 并将模块连接到一个文件..
谁能提出一种将多个模块合二为一的好方法,比如沙盒? 或者一些不使用 webpack、requireJs 等的最佳实践和模式。
【问题讨论】:
-
如果您的业务逻辑是模块化的,并且模块之间有很多依赖关系,我建议您使用
CommonJs架构。它是 NodeJs 使用的架构。你熟悉 NodeJs 吗? -
是的,我熟悉 NodeJs 和 CommonJS 方法。它使用 export 和 require.. 但我需要使用 RequireJS 或类似的.. 我更喜欢一些自定义解决方案
标签: javascript design-patterns dependency-injection