我真的在努力与require.js和jquery手机。我有一个基于松散的文件结构和加载模式
https://github.com/appboil/appboil-requirejs-backbonejs-jquerymobile-phonegap
但它是老的,我不得不对require 2.0版本进行修改。是否有社区接受的方式使用jquery mobile,backbonejs和requirejs在一起?我想使用骨干的路由而不是jquery手机。此外,该模板有电话沟通,我不关心。
解决方法
这是我使用的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(); }); });
最后一点非常重要,以使JQM正确加载(实际上是功能)。这部分:
require([ 'jquery','jquery.mobile.asyncfilter' ],App ){ $(function(){ App.initialize(); }); });
由于我需要jquery jquery(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; }); });
原文地址:https://www.jb51.cc/jquery/181984.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。