Sne*_*bat 16 jquery-mobile requirejs backbone.js
我真的在使用require.js和jquery mobile.我有一个基于松散的文件结构和基于的加载模式
https://github.com/appboil/appboil-requirejs-backbonejs-jquerymobile-phonegap
但它已经过时了,我不得不对require 2.0版本进行调整.是否有社区接受使用jquery mobile,backbonejs和requirejs的方式?我想使用骨干网路由而不是jquery手机.此外,该模板有phonegap,我不关心.
Sne*_*bat 27
这是我使用的main.js文件...
require.config({
baseUrl: "/js/",
paths: {
jquery: 'libs/jquery/jquery-1.7.1',
'jquery.mobile-config': 'libs/jqm/jquery.mobile-config',
'jquery.mobile': 'libs/jqm/jquery.mobile-1.1.0',
'jquery.mobile.asyncfilter': 'libs/jqm/asyncfilter',
underscore: 'libs/underscore/underscore-1.3.3',
backbone: 'libs/backbone/backbone-0.9.2',
templates: '../templates'
},
shim: {
'underscore': {
exports: "_"
},
'backbone': {
//These script dependencies should be loaded before loading
//backbone.js
deps: ['jquery','underscore'],
//Once loaded, use the global 'Backbone' as the
//module value.
exports: 'Backbone'
},
'jquery.mobile-config': ['jquery'],
'jquery.mobile': ['jquery','jquery.mobile-config'],
'jquery.mobile.asyncfilter': ['jquery.mobile'],
}
});
require([
'jquery',
'app',
'jquery.mobile','jquery.mobile.asyncfilter'
], function( $, App ){
$(function(){
App.initialize();
});
});
Run Code Online (Sandbox Code Playgroud)
最后一点对于让JQM正确加载(实际上是函数)非常重要.这部分:
require([
'jquery',
'app',
'jquery.mobile','jquery.mobile.asyncfilter'
], function( $, App ){
$(function(){
App.initialize();
});
});
Run Code Online (Sandbox Code Playgroud)
由于我需要jquery用于jqm(jquery mobile),我将全部加载它们并且由于上面的填充码,依赖项以正确的顺序加载.我实际上并没有将任何jqm变量传递给函数调用,它只传递$和App.下一个重要的部分是jqm-config文件:
define(['jquery'], function ($) {
$(document).on("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
});
});
Run Code Online (Sandbox Code Playgroud)
您可以将jqm的所有preinit代码放在该文件中.毕竟,你应该能够使用jqm!
| 归档时间: |
|
| 查看次数: |
10999 次 |
| 最近记录: |