2015年1月25日
摘要: 大约十几个月前,了解到时下前端MVC之火爆,同事推荐我了解一下angular。当时也不是特别在意,只是稍稍阅读了一遍官方文档,并尝试了文档上的例子。其实当时也颇有震惊之感的,原来代码还可以这么写!看完之后,很兴奋,也确实想在实际项目中运用一下,但可能我对它的理解不够深入,真到了项目里不知如何下手。后... 阅读全文
posted @ 2015-01-25 12:38 雲石 阅读(2298) 评论(4) 推荐(2) 编辑
  2014年4月28日
摘要: http://jsbin.com/semeh/8请使用chrome打开1.类似于网易新闻客户端的loading效果,左边的圆圈2.发散式心跳效果,右边的圆圈3.youtub上,搜索进度条效果,点击start,顶部的进度条宽度达到30%~70%区间时(随机),js设置至100%,然后reload页面 阅读全文
posted @ 2014-04-28 22:08 雲石 阅读(113) 评论(0) 推荐(0) 编辑
  2014年4月27日
摘要: 这个方法是用于在模块中异步加载其他模块的,类似于在页面上的seajs.use.比如需要在特定条件下才去加载a模块,不必每次都加载,类似于下面这样的代码if({{some_condition}}){ require.async('a',function(A){ //do somet... 阅读全文
posted @ 2014-04-27 15:06 雲石 阅读(390) 评论(0) 推荐(0) 编辑
  2014年4月22日
摘要: 本文仅讨论具名模块的情况,即通过spm打包出来的模块.想起ID与路径统一原则,详见https://github.com/seajs/seajs/issues/930今天又研究了下seajs源码,源码中并没有显式的判断id与路径相不相等,即没有类似如下的代码if(id == uri){ mod.exe... 阅读全文
posted @ 2014-04-22 21:44 雲石 阅读(1064) 评论(0) 推荐(0) 编辑
  2014年4月21日
摘要: 最近遇到两个关于seajs-debug的坑一个与preload有关,详情见https://github.com/seajs/seajs-debug/issues/15一个与map时间戳有关,详情见https://github.com/seajs/seajs-debug/issues/16截止本文章前... 阅读全文
posted @ 2014-04-21 18:15 雲石 阅读(413) 评论(0) 推荐(0) 编辑
  2014年4月7日
摘要: 在最开始,我并不知道grunt可以构建CMD模块.(以下spm指代spm build)当时正困惑于如何用spm方便的构建业务模块,后来看到@twinstony(感谢@twinstony的分享)使用grunt-cmd-xxx插件构建了CMD模块,跟着demo自己做了测试,的确可以构建,但是有一个问题:grunt 方式不能把依赖的外部css(比如非项目中的jquery插件css)打包进来,而spm可以.其原因是,spm会根据别名配置依次(./sea-mpdules -> ~/.spm/cache -> -> 源)查找并下载依赖,最后将依赖的css依赖打包进来(通过seajs.im 阅读全文
posted @ 2014-04-07 14:14 雲石 阅读(1005) 评论(3) 推荐(0) 编辑
  2014年4月2日
摘要: 好久没有用seajs了,之前对spm也只是一知半解,这些天再次拿起来研究.谈谈我的认识与理解.声明:本文不适合对seajs完全不了解的同学阅读.对于想知道seajs来龙去脉以及spm相关的同学"可能"有帮助.对于我自己也是个梳理的机会.一.seajs部分1.seajs由来:传统web前端的js开发,主要基于script标签的引入,一个文件一个script标签,或者对他们进行简单的压缩与合并,以减少http请求.没错,我们以前都是这么干的,甚至现在还有很多人这么干.随着这些年的发展,前端越来越被重视,逻辑越来越复杂,前端代码的维护变得越来越难.2009年,nodejs诞生(n 阅读全文
posted @ 2014-04-02 10:44 雲石 阅读(1100) 评论(0) 推荐(0) 编辑
  2013年4月27日
摘要: 出自大名鼎鼎玉伯之手的seajs在业界引起了广泛的反响,好评如潮,如今我也加入到了其中.到今天在项目中使用seajs也有几个月了,不久前开始正式研究seajs源码,终于准备发这篇博客了,也是我在博客园的第一篇博客(*^__^*) .怪鸡冻的.那么接下来进入正题.一.seajs初步理解(seajs内部执行流程)1).use或data-main(用户手动)2).rquest(动态插入script标签)3).扫描模块中的factory.toString(),根据一个很长的正则去查找use进来的模块中rquire的所有模块(即require括号里的那个字符串,也即依赖模块)4).将第三步中查找出来的模 阅读全文
posted @ 2013-04-27 12:07 雲石 阅读(525) 评论(0) 推荐(1) 编辑
摘要: 这篇其实算是补充上一篇。事记:昨天一同事(之前没用过seajs)突然要用seajs,我无意间听到,加上我最近又在研究它,便“自不量力”地跑上去跃跃欲试。看到他已经敲出来的那些看似有点像的seajs代码,跟我之前的用法不尽相同,我就犯迷糊了。然后回来又自行研究了一下,才大概搞明白了怎么回事,也算帮同事搞定了seajs的引进。下面进入正题:我之前的用法是html:1 <script type="text/javascript" src="xx/js/sea.js" id="seajsnode" data-main="mym 阅读全文
posted @ 2013-04-27 09:53 雲石 阅读(1535) 评论(0) 推荐(0) 编辑