我最近在所有 CommonJS 与 AMD 的战斗中进行了一些挖掘,这是我的发现......(顺便说一句,我不是在这里说教,我分享我的想法以获得一些建设性的见解......) RequireJS 带来了很多复杂性我的 Angular 模块,对我来说感觉不对,因为它是一个模块包装在一个模块中...... Browserify 方式更干净,但要让它正确处理所有事情,你需要正确实现所有依赖项和依赖项依赖项,并且不幸的是,我们并不生活在一个完美的世界中......所以你必须对填充的 Libs 的内部依赖进行填充和填充......我不是额外复杂性的忠实粉丝......
我目前的方式(并受到您所有建设性的批评......)
我有一个 grunt 文件连接和缩小我的所有资源,像 BreezeJS、$、Q、Ladda 等库......在全局范围内泄漏......然后我为这些全局变量声明这个类型模块:
module.value('gLadda', (function(){
if("Ladda" in window && "Spinner" in window){
return Ladda;
}else{
throw new Error("The Globals Ladda || Spinner are missing");
}
})());
在我的应用程序中使用“Angularify”依赖项之后,我没有在团队中使用过这种技术,我想知道这是否会为某些人触发一些红灯,他们是否会解释为什么......谢谢你的时间。