哪些脚本加载程序(AMD或非AMD)用于Backbone.jsUnderscore
Which Script Loaders(AMD or not) for using with Backbone.js/Underscore?
一周来,我开始学习如何将require.js与Backbone.js和Undercore.js一起使用。
这是一件非常困难的事情,但3天前我读到Undercore将不再支持Require.js(AMD)!现在我有点困惑。
我真的很喜欢Script Loader的概念,不想错过它!
是否有人已经成功使用Backbone.js(0.5.3)和Underscore(1.3.0)的Script Loader?
谢谢你的帮助!
链接:此处的另一个解决方案
我目前在我的Backbone Boilerplate中使用下划线1.3和Backbone 0.5.3。你可以看到我在那里做什么:
https://github.com/tbranyen/backbone-boilerplate
即使require.js本身不支持AMD模块风格,您仍然可以使用下划线。
您仍然可以通过代理模块将其作为普通的外部javascript源加载。
它的要点是这段代码:
// Filename: libs/underscore/underscore
// Loads the original underscore file from the libs/underscore folder
define(['order!libs/underscore/underscore-min'], function(){
// Tell Require.js that this module returns a reference to Underscore
return _;
});
完整的教程可以在这里找到:http://backbonetutorials.com/organizing-backbone-using-modules/
Require.js在我看来是最好的选择,因为它包括优化器(缩小和级联),并允许您将主干代码解耦为模块。
如果您对如何将Require.js与最新版本的Backbone.js和Undercore.js集成感到困惑,请查看我在github上创建的样板代码。请记住,我使用John David Dalton的lodash而不是下划线,因为lodash提供了更好的性能和自定义构建过程。我还使用Require.js 2.0提供的Shim配置,使非AMD兼容的脚本,如Backbone、AMD/Require.js兼容。
https://github.com/gfranko/Backbone-Require-Boilerplate
我这里也有一些。。。
https://github.com/jcreamer898/RequireJS-Backbone-Starter
https://github.com/jcreamer898/Savefavs
更新日期:2012年8月7日
RequireJS的最新版本允许使用以下代码的非AMD兼容库。
require.config({
'paths': {
"underscore": "libs/underscore-min",
"backbone": "libs/backbone-min"
},
'shim':
{
backbone: {
'deps': ['jquery', 'underscore'],
'exports': 'Backbone'
}
}
});
你试过labjs还是headjs?
http://labjs.com/
http://headjs.com
啊,也有雪人!
http://yepnopejs.com/
我找到了一个真正适合我的解决方案:Tim Brayen
define([
'jquery',
'use!underscore',
'use!backbone',
我用它添加jquery插件、自定义js、下划线和主干(不更改代码!)。。。但jquery mobile似乎有问题。。。
你也可以看看包装,我还没有测试它!
- 如何根据列为空或非空的位置从类中隐藏每个Div
- 如果菜单处于活动状态或非活动状态,则切换图标的类.多级按钮菜单
- HTML5 输入类型=数字值在 Webkit 中为空,如果包含空格或非数字字符
- JQuery(或非闪光)图像的下落和反弹效果
- 允许Javascript模块(类)与CommonJS、AMD或两者都不使用
- 哪些脚本加载程序(AMD或非AMD)用于Backbone.jsUnderscore
- toString只适用于括号或非文字数字
- 将类更改为links,并且只允许其中一个处于活动状态或非活动状态
- 浏览器端node.js或非阻塞javascript
- RaphaelJS——矢量或非矢量
- 查找regex:软连字符或非单词字符
- 获取“null”或“非对象”错误;在访问选择列表的选项时
- 使用通配符或非操作符重新定义getList()
- CoffeeScript -加载库与AMD或在窗口对象(经典方式)
- 尝试配置一个新的webpack+angular2项目,我'm获取错误TS2384:重载签名必须全部为环境签名或非
- 在Famo.us中转换颜色(或非转换/不透明度CSS属性)的正确方式
- 是否有可能告诉用户,如果我的页面最小化或非活动选项卡
- 对于安全的应用程序,不再支持禁用javascript或非ajax浏览器是否可以接受?
- Ajax代码访问隐藏或非公共html或php页面
- JavaScript中的程序化重音降低(也称为文本规范化或非重音)