RequireJS+JQueryMobile】的更多相关文章

RequireJS提供了JS下模块化开发的充分条件.之前我自己也在多个项目中尝试模块化开发,但是由于没有类似RequireJS这样的框架,最后的效果都不是很理想. 在RequireJS中,所有的JS都是模块,这就意味着即便我们要以JQuery Mobile作为应用的基础框架,也必须先加载RequireJS,然后再将JQuery Mobile作为一个模块来加载使用.因此,在应用了JQuery Mobile的应用中,我们在index.html中,通常只会看见一个js引用. <script data-…
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序一样.特别是在当今的移动时代,单页程序如果放在移动设备上去浏览就能够拥有像native app一样的体验,也许我们web开发者们应该期待这种技术的大力普及,这样不管前端还是后端都是我们的天下啊,让那些Andrioid和IOS开发者们追赶我们吧!好吧,废话不说了,我们会从0开始搭建这样一个单页的web…
2017 新年好 ! 新年第一天对我来说真是悲伤 ,早上兴冲冲地爬起来背着书包跑去实验室,结果今天大家都休息 .回宿舍的时候发现书包湿了,原来盒子装的牛奶盖子松了,泼了一书包,电脑风扇口和USB口都进牛奶了,赶紧拔掉电池,用风扇吹啊吹.强行开机,无线网卡坏掉,屏幕里面进牛奶,难看死啦 ~ 鼠标也坏掉了,谁能赠送我一个鼠标啊 ..O... 中午吃完饭,就开始完善模块加载器了.到傍晚,差不多了,出去浪了一会儿 ~ my-Require.js 回顾 在 使用RequireJS 并实现一个自己的Requ…
RequireJS & SeaJS 在 模块化开发 开发以前,都是直接在页面上引入 script 标签来引用脚本的,当项目变得比较复杂,就会带来很多问题. JS项目中的依赖只有通过引入JS的顺序来确定,项目会变得复杂难以维护. 复杂的脚本会暴露很多全局变量, 比如 $,_. ... . 同步加载的时候,网页会停止渲染,加载时间越长,网页失去响应的事件就越长. 于是,AMD 规范就诞生了,AMD 即为异步模块定义,有效避免同步加载导致页面的假死现象.RequireJS 是一个 AMD 的实现,后来…
1.前言 这一节,我们主要解决在上一节<使用gulp解决RequireJSs项目前端缓存问题(一)>末尾提到的几个问题: 对通过require-config.js引入的js文件修改后,没有更新到 每次gulp运行完后都会生成新的文件,开发环境是做了清除dist目录处理,但对于一般公司服务器而言,发布到生产环境上,不可能每次发布都对dist做清空处理,文件只会越积越多 先睹为快,猛戳链接下载Demo :http://pan.baidu.com/s/1skDm2Up 2.修改require.js…
现在是西太平洋时间凌晨,这个问题我鼓捣了一天,都没时间学英语了,英语太差,相信第二天我也看不懂了,直接看结果就行. 核心原理就是require在AngularJs2编译过程中是关键字,而在浏览器里面运行时候AngularJs2不会去关心require方法.所以只要在原始的ts代码中不出现require就没问题.所以在AMD的加载器加载完毕之后,立即用一个全局变量保存,在AngularJs2的代码中使用这个全局变量在做加载器. Because require is a key word of An…
其实说成使用requirejs加载angularjs应用会更贴切一些 <body> <span ng-controller="homeController">{{resultValue.Msg}}</span> <script src="js/lib/require.js" data-main="js/main"></script> </body> 只不过需要手动启动angu…
html5+jqueryMobile的组合可以直接开发web版的app,所以用到我当前app中的推广注册页的编写是很恰当的,其实只要你熟悉html4+jquery的组合开发,那么html5+jqueryMobile你会立刻上手.html5比html4多了很多的标签,特别是多媒体这块有了很好的支持,但是如果只是做一般的web手机页面,那么多数标签是用不上的,JqueryMobile与jquery的不同点就在一些事件名称上,当然这里封装的也是html5的原生事件,还要说一个关于html5提倡的一个规…
一.简介 JQueryMobile是JQuery的移动版,不过它并没有像JQuery那么成功.我们只是使用JQueryMobile来展示do_Webview加载第三方js框架.适合所有开发者.二.效果图 三.相关下载 http://pan.baidu.com/s/1dDtvud7四.相关讨论 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=180五.更多案例http://source.deviceone.net/六.关于DeviceOn…
1.前言 前端缓存一直是个令人头疼的问题,你有可能见过下面博客园首页的资源文件链接: 有没有发现文件名后面有一串不规则的东东,没错,这就是运用缓存机制,我们今天研究的就是这种东西. 先堵为快,猛戳链接下载Demo :http://pan.baidu.com/s/1jI4n1hs 以dist为根目录,运行http://localhost/html/index.html,如果出现"Good!成功加载index.js",则表示成功了. 不熟悉gulp的同学,可以参考这个比较详细的教程:htt…
先说说CommonJS CommonJS - 大家是不是觉得JavaScript仅仅是一个客户端的编译语言,其实JavaScript设计之初不仅仅是针对客户端设计的语言.后来只是由于Web的迅速流行,加之Netscape和微软之间之争过早的将JavaScipt标准化.要了解详细的JS历史请查看:http://zh.wikipedia.org/zh-cn/JavaScript.过早的标准化JS就导致JS的诸多缺陷和标准类库的缺乏,即使这样也不影响JS成为一门优秀的编程语言(比如现在非常流行的Nod…
web应用越变的庞大,模块化越显得重要,尤其Nodejs的流行,Javascript不限用于浏览器,还用于后台或其他场景时,没有Class,没有 Package的Javascript语言变得难以管理,于是出现CommonJS项目,提出了一些规范模块化的写法,在Nodejs中普遍应用,同样浏览器端也出现了类似的解决方案,并结合浏览器异步加载的特性,有RequireJS提出的AMD(Asynchronous Module Definition)规范,以及SeaJS提出的CMD(Common Modu…
前言 现在工作中基本离不开requireJS这种模块管理工具了,之前一直在用,但是对其原理不甚熟悉,整两天我们来试着学习其源码,而后在探寻其背后的AMD思想吧 于是今天的目标是熟悉requireJS整体框架结构,顺便看看之前的简单demo RequireJS学习笔记 程序入口 源码阅读仍然有一定门槛,通看的做法不适合我等素质的选手,所以还是得由入口开始,requireJS的入口便是引入时候指定的data-main <script src="require.js" type=&qu…
前言 进入移动前端是很不错的选择,这块也是我希望的道路,但是不熟悉啊... 现在项目用的是require+backbone,整个框架被封装了一次,今天看了代码搞不清楚,觉得应该先从源头抓起,所以再看看require了. 上午是到处搜集的资料,下午我们来看原生的API吧: http://www.requirejs.org/docs/api.html#config PS:我英语很烂,各位将就着看吧,看到红色就说明老夫拿不准...... 加载javascript文件 RequireJS采用不同的方法来…
前言 昨天我们一起学习了Backbone,最后做了一个备忘录的例子,说是做了不如说是看了下官方提供的例子,所以最终我感觉我们还是没能掌握Backbone,今天还得做个其它例子先. 然后前面也只是草草学习了RequireJS,没做demo,这个周末又在看电影打游戏睡觉瞎折腾,转眼就周日下午了,突然诗性大起,于是作诗一首先: 古有通宵看A片,今有彻夜码代码 好吧,我们开始今天的学习吧,我们今天先用backbone做一个通讯录的东西,然后使用requireJS组装之. 部分参考:the5fire的技术…
心血来潮,打算结合实际开发的经验,浅谈一下HTML5单页面App或网页的架构. 众所周知,现在移动Webapp越来越多,例如天猫.京东.国美这些都是很好的例子.而在Webapp中,又要数单页面架构体验最好,更像原生app.简单来说,单页面App不需要频繁切换网页,可以局部刷新,整个加载流畅度会好很多. 废话就不多说了,直接到正题吧,浅谈一下我自己理解的几种单页面架构: 1.requirejs+angular+angular-route(+zepto) 最后这个zepto可有可无,主要是给团队中实…
项目中大都使用模块化开发,requireJS作为AMD模块开发的典范,所以有必要学习下.通过一步步利用requireJS编写demo,从而学习requireJS的一个整体开发流程以及自我使用requireJS的一些感受. AMD:一种基于模块的异步加载JavaScript代码的机制,它推荐开发人员将JavaScript代码封装进一个个模块,对全局对象的依赖变成了对其他模块的依赖,无须再声明一大堆的全局变量.通过延迟和按需加载来解决各个模块的依赖关系.模块化的JavaScript代码好处很明显,各…
angular的指令是模块化很好的一个体现,下面我将只使用指令(不用控制器),结合requirejs,实现模块化开发. 模块化关系图:…
背景 Problem(问题) Web sites are turning into Web apps(网站正转变为网络应用程序) Code complexity grows as the site gets bigger(代码复杂度随着站点变大而变复杂) Assembly gets harder(组装变得更难[ps]这里我个人认为“组装”是拼接单个js文件中的昂多的代码段 ) Developer wants discrete JS files/modules(开发者想分离js文件/模块) Dep…
下面我将使用requirejs结合模态框实现三五行代码部署表单提交操作. 传统开发思路如下:…
第一节遗留的问题: 中文乱码:  修改require.js文件,搜索charset 关键字,修改为GBK:(貌似乱不乱码和jquery版本有问题,切换GBK和utf-8!!) 路      径:  仅介绍main.js中的路径设置:1. 可以设置baseUrl根路径:如,把jquery放在根目录下js文件夹,可以这样     若放在js/lib中,这样: ./ 可以省略: 页面引入方式类似: paths 引入的资源路径是相对路径,切记! 引入时   data-main="./js/main&qu…
为什么学习RequireJS? 像我这种菜鸟,会提到海量文章里提到的AMD.JS模块化编程.异步... ... 等等 RequireJS是一个Javascript 文件和模块框架,它可以帮我们去管理js代码(我的理解). 深入学习,我们便会被迫接受一系列的名词:data-main.require.define.baseUrl.paths.shims.deps...等等: 总之,很多文章都在向我们推销一些自己都说不明白的名词和概念. 简单点,现在我们要做一个简单的需求,用RequireJS管理我们…
这是一个jQueryMobile示例页面 示例效果:http://hovertree.com/texiao/jquerymobile/ 可以在手机或者触屏浏览器查看效果. 以下是HTML代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>jQ…
模块不同于传统的脚本文件,它良好地定义了一个作用域来避免全局名称空间污染.它可以显式地列出其依赖关系,并以函数(定义此模块的那个函数)参数的形式将这些依赖进行注入,而无需引用全局变量.RequireJS的模块是模块模式的一个扩展,其好处是无需全局地引用其他模块. RequireJS的模块语法允许它尽快地加载多个模块,虽然加载的顺序不定,但依赖的顺序最终是正确的.同时因为无需创建全局变量,甚至可以做到在同一个页面上同时加载同一模块的不同版本. (如果你熟悉ConmmonJS,可参看CommonJS…
没有requireJS框架之前,如果我们想使用jquery框架,会在HTML页面中通过<script>标签加载, 这个时候jquery框架生成全局变量$和jQuery等全局变量.如果项目中引用了requireJS框架,采用模块化的方式加载jquery,那么 jquery不会再添加全局变量$和 jQuery .现在问题来了,虽然jquery框架已经开始支持AMD规范,但是jquery的众多插件还是不支持AMD,仍然像以前一样需要使用全局变量$.jquery插件大多都是如下结构: (functio…
这两天正好看到了程序员小卡同学的一篇博客,里面对requireJS路径的解析做了一些说明,里面有点问题待解决,我这里正好知道一点,所以整理成文,不知对小卡同学是否有帮助. http://www.cnblogs.com/chyingp/p/3677425.html http://www.cnblogs.com/chyingp/p/requirejs-path-resolve.html   首先以其例子为例: requirejs.config({ baseUrl: 'js' }); // 依赖lib…
前言 这个星期折腾了一周,中间没有什么时间学习,周末又干了些其它事情,这个时候正好有时间,我们一起来继续学习requireJS吧 还是那句话,小钗觉得requireJS本身还是有点难度的,估计完全吸收这个月就过去了,等requireJS学习结束后,我们的学习流程可能就朝两个方向走 ① 单页应用框架/UI库整理 ② UML文档相关/重构思想相关(软性素质) 然后以上的估计估计会持续3.4个月时间,希望学习下来自己能有不一样的提高,成为一个合格的前端,于是我们继续今天的内容吧 requireJS中的…
前言 经过昨天的学习,我们大概了解到了requireJS的主要结构,这里先大概的回顾一下 首先从总体结构来说,require这里分为三块: ① newContext之前变量声明或者一些工具函数 ② newContext大家伙 ③ 解析script标签抽出data-main,并提供几个对外接口 从流程上讲,大概发生了这些事情: ① script标签引入requireJS后,便会初始化一些变量以及函数,并不干实际的事情 ② 在主干结构第三步之前会使用req({})调用(并且只会调用一次)newCon…
本文转载自:http://www.cnblogs.com/kenkofox/p/4650310.html 不过,这一篇,我想进一步探讨一下这两个框架的优缺点,另外,再进一步,抛开这两个框架,回到本真,自己搞个简单的路由一样可以实现单页面. 这个对于刚做前端开发的新同学来说就最好不过了,如果一来到岗位就一大堆angular.backbone.requirejs,看资料都看一两周.其实大家最熟悉的东西还是那个美元$,用美元能解决的问题,就不要麻烦到angular.backbone大爷了. 事先说明,…
本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)--requirejs + angular + angular-route>探讨了angular+requirejs的一个简单架构,这一篇继续来看看backbone如何跟requirejs结合. 相同地,项目架构好与坏不是说用了多少牛逼的框架,而是怎么合理利用框架,让项目开发更流畅,代码更容易管理.那么带着这个目的,我们来继续探讨backbone. 首…