本文的目的是为了能大让家更好的认识 Mod,之所以引入 RequireJS/SeaJS 的对比主要是应大家要求更清晰的对比应用场景,并不是为了比较出孰胜孰劣,RequireJS 和 SeaJS 都是模块化漫漫之路的先驱者,向他们致敬! 为工程化为生的Mod 模块化是一种处理复杂系统分解成为更好的可管理模块的方式,它可以把系统代码划分为一系列职责单一,高度解耦且可替换的模块,采用模块化可以让系统的可维护性更加简单易得. JavaScript 并没有为开发者们提供以一种简洁.有条理地的方式来管理模块…
重构前的状态:    大量的js代码混在繁多的Jsp文件中,对第三方的js库依赖也很杂乱.虽然在部分交互性较强的页面中,将js代码分离到了独立的js文件中,但是代码结构及依赖管理依然很乱.不说新人来了无所适从,就是我自己看了,也会一头雾水.不是代码有多深奥,是看着实在太累.于是,一次重构工作开始了. 重构中的事情:    1.首先,整个项目的页脚页头都有用到一些js和js库,这些具有共性的js先抽离到一个独立的head.js与foot.js中,放到include文件夹下. 2.对于公用的js库,…
本章我们讨论javascript在浏览器中是如果工作的,包括:下载.解析.执行的全过程.javascript的这些讨人嫌的地方我们是知道的: i.需要串行下载 ii.需要解析 iii.需要串行执行 而在chrchromium中,js是这样解析的:(其实第一章末尾已经有了) 至于一些步骤的解释,这里就不再复述了,不懂的请戳:浏览器渲染过程 拉至末尾. 简直就是大魔王有木有?心中可有一万只草泥马奔腾而过?为什么在所有的下载线程中: i.css加载不会阻塞页面 ii.images加载不会阻塞页面 ii…
RequireJS SeaJS CMD规范 CommonJS的规范: 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行,最后返回文件内部的exports对象 SeaJS定义模块方式 在 SeaJS 里,模块只有一种书写格式 define(function(require, exports, module) { var A = require('a'); A.do(); return function () {}; }); Requir…
说实话, 前端开发是一个令人头痛的事情. nodejs出现了很久了, 一直不是很习惯用nodejs, 当初刚出来的时候, 就下载了express, 想搭建个网站, 结果不是我的菜, 愣是用的不习惯,也就搁置了很久. 直到发现了kissy, aliceui.org, 淘宝支付宝系的前端js框架和css解决方案. 先说kissy, 这东西用在淘宝上, 实际上就是淘宝自己的jQuery+css框架, 功能已经有目共睹了, 淘宝的页面在各种浏览器上显示还是挺一致的. 再说aliceui, 其实应该叫做a…
RequireJS & SeaJS 在 模块化开发 开发以前,都是直接在页面上引入 script 标签来引用脚本的,当项目变得比较复杂,就会带来很多问题. JS项目中的依赖只有通过引入JS的顺序来确定,项目会变得复杂难以维护. 复杂的脚本会暴露很多全局变量, 比如 $,_. ... . 同步加载的时候,网页会停止渲染,加载时间越长,网页失去响应的事件就越长. 于是,AMD 规范就诞生了,AMD 即为异步模块定义,有效避免同步加载导致页面的假死现象.RequireJS 是一个 AMD 的实现,后来…
知识点1:AMD/CMD/CommonJs是JS模块化开发的标准,目前对应的实现是RequireJs/SeaJs/nodeJs.   知识点2:CommonJs主要针对服务端,AMD/CMD主要针对浏览器端,所以最容易混淆的是AMD/CMD.   知识点3 : AMD/CMD区别,虽然都是并行加载js文件,但还是有所区别,AMD是预加载,在并行加载js文件同时,还会解析执行该模块(因为还需要执行,所以在加载某个模块前,这个模块的依赖模块需要先加载完成):而CMD是懒加载,虽然会一开始就并行加载j…
前言: 一直想着整理一下关于前端的知识体系和资料,工作忙了些,挤挤总会有的,资料很多,就看你能不能耐下心坚持去学了,要多学多敲多想,祝你进步~ 学习之前首先要大概了解什么是HTML ,CSS , JS:一句话概括:HTML 是骨骼, CSS是皮肤, JS只是夹在中间的神经组织!细说的话:HTML是由多种骨头(标签)组成的骨架.HTML5是更多的新骨头(标签),同时去掉了以前觉得不好用的骨头.CSS是皮肤.CSS3是更美的皮肤JS控制单个动作.(抬手,张嘴,放下手,抬腿,转头,握拳等)jQuery…
文章来源: http://www.restran.net/2015/05/14/mobile-web-front-end-collections/ 最近整理的移动端 Web 开发前端知识,不定期更新. HTML5 可以做什么 拍照 获取地理位置 手势 canvas 绘图和动画(硬件加速) localstorage,本地缓存 HTML5 动画效果 demo http://fff.cmiscm.com/#!/main CSS3 动画 http://isux.tencent.com/css3/inde…
文章的起因,也是在群内交流是回答一个小伙的问题,一扯就停不下来,但由于个人知识面覆盖有限,自身基础又不够扎实,仅供参考: 问这个问题之前,我个人建议先搞清什么是jquery,什么是js?     jquery的优点:他是常用的js工具方法的一堆封装,他在一定程度上加快前端开发的速度,会缩短项目开发周期,会减少很多代码. 缺点:因为jquery内部做了很多细节的处理,当然最终目的是为了方便的调用.但是有些初学者误以为,js的本来面貌就是这个样子.用Jquery去描述业务场景,而不是试图用代码逻辑来…