为什么Underscore.js删除了对AMD的支持
Why did Underscore.js remove support for AMD?
1.3.0-2012年1月11日从Undercore中删除AMD(RequireJS)支持。如果你想将Undercore与RequireJS一起使用,你可以将其作为普通脚本加载,包装或修补你的副本,或者下载一个分叉版本。
他们为什么这么做?有人知道吗?因为他们在几个月前(10月)才添加了它,而AMD(异步模块定义)被称为远远优于CommonJS模块。
更新:截至2013年12月,此功能再次得到支持
Jeremy在提交的评论中给出了他的推理:
是的。不支持特定的脚本加载程序肯定会使所有更容易正常工作。
我首先对合并支持表示歉意。
他还在推特上发布了更多关于这一变化的消息(链接来自稍后的评论):
…因为AMD的支持正在打破同样使用Require.js的页面上的常规Undercore嵌入…
Underscore的开发人员认为支持AMD会破坏对非AMD脚本的支持。事实并非如此,因为您可以拥有一个启用AMD的脚本,但也可以在非AMD部署中正常工作。
现在有一个替代Undercore:Lo Dash的替代品。它与Undercore中没有的其他功能一起,包括AMD/非AMD双重性。
我觉得有必要增加这个相当古老的问题。
Backbone和Undercore现在都支持AMD:
- undercore提交
- 骨干网提交
讨论(尽管Backbone的讨论有点令人困惑,因为讨论的基调和实际结果之间存在明显差异):
- Undercore问题
- 骨干问题
ES5填充程序提供了许多与下划线和lodash(array.forEach()、array.map()等)相同的功能。
ES5填充程序本机支持AMD,与下划线和lodash不同,它不会添加浏览器可能已经提供的内容的额外副本。相反,它将本机ES5功能添加到较旧的浏览器中。
当IE8和其他旧浏览器失效时,您可以简单地删除ES5填充程序依赖项,而不必像使用lodash或下划线那样移植代码。
- Amd,希望确保某个东西总是最后执行
- jQuery-2.1.1.min.js或最新版本jQuery-2.13.min.js不会't支持'@
- jQuery检测浏览器是否支持Zoom
- 错误:对象没有't支持'自动完成'
- 让Webpack管理Quirky AMD定义的最佳方式
- EmberJS中支持单字母单词模型
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- Internet Explorer缺少占位符支持,特别是密码字段
- 为什么我得到错误IE修剪方法是't支持
- 任何浏览器都不支持javascript函数
- GTK百老汇支持同时连接
- JQuery示例不起作用-“;对象没有't支持属性或方法'按钮'&”;
- 对象不支持属性或方法“自动完成”
- AMD格式是否要求模块为单件
- 对象没有'不支持set_viewXML
- 将 AMD 支持添加到库时,是否也应该在 define() 中列出其依赖项
- 为什么Underscore.js删除了对AMD的支持
- 是否已经有现成的代码支持Dojo AMD, NodeJS需求和浏览器窗口.用于Javascript微库
- 什么是填充JavaScript库以及为什么它们没有'不支持AMD
- 如何为 JavaScript 模块提供有条件的 AMD 支持