
seajs&CMD
文章平均质量分 73
aitangyong
成长最快、最好的方式就是交流和总结!
展开
-
(三)seajs中的模块标识
本文转载自[模块标识#258],介绍下模块id相关的东东。模块标识是一个字符串,用来标识模块。在 require、 require.async 等加载函数中,第一个参数都是模块标识。Sea.js 中的模块标识是 CommonJS模块标识的超集。也就是说符合CommonJS规范的id,一定符合seajs,反之则不然。原创 2015-10-23 10:01:13 · 815 阅读 · 0 评论 -
seajs开篇:我为什么学习seajs,因为它的"预先下载,延迟执行"特性
之前参与的2个项目都用到了js模块化工具requireJS框架,工作之余学习了这个框架,也熟悉了requireJS的基本用法以及AMD规范。本来对seaJS没有太大的兴趣,知道它实现了CMD规范,功能和requireJS类似仅此而已。最近在自己关注的微信订阅号"前端大全"看到了一篇文章"js模块化历程",对seajs产生了极大的兴趣,因为它有"预先下载,延迟执行"的特性。原创 2015-10-20 19:22:55 · 1562 阅读 · 0 评论 -
(三.1)通过几个例子看下seajs模块标识符(有图有真相)
模块的标识,其实就是模块的命名,这涉及到文件查找路径,如果路径配置不对,会导致seajs下载文件失败。seajs官方文档对模块标识的解释也必将多,但是我认为介绍的太简单,不太好理解。至少我是费了一点工夫才理解的,这里记录下。seajs模块标识分为3种:相对标识、顶级标识和普通标识。我们知道require()就需要一个模块标识,模块标识就是一个字符串。原创 2015-10-21 11:25:11 · 1117 阅读 · 0 评论 -
(四)seajs.config中vars、alias、paths和map的作用,以及util-path路径解析源码
这篇文章主要是学习下seajs.config中vars、alias、paths、map这4个配置参数的作用和使用方式。seajs解析模块的url,就是根据模块标识(到底是相对标识、顶级标识还是普通标识),和上面这4个配置来确定的。相关源码在util-path.js中,下面附上util-path.js中最核心部分的源码,我加了很多注释,应该很容易看懂。原创 2015-10-22 14:27:57 · 4701 阅读 · 0 评论 -
(二)学习seajs模块定义和模块引用相关API
知道如何引入seajs,如何启动模块之后,现在我们改来看一下如何定义模块,如何让一个模块调用另一个模块。经常使用的 API 只有 define, require, require.async, exports, module.exports 这五个。本文主要摘抄自[CMD模块定义规范#242]和[require书写约定#259]。在CMD规范中,一个模块就是一个文件。可以看到这些规则并不复杂,也很合理,并没有加重程序员的负担。虽然id、dependencies都是必须的,但是我们源码中并不需要自己去添加这2原创 2015-10-22 18:51:33 · 4110 阅读 · 0 评论 -
(一)页面中引入seajs以及模块的加载和启动
本文转载自官网上"模块的加载启动#260"这篇文章,seajs官网上的文档都是中文的,大部分写的也很清楚,看看就能上手了。这里之所以转载官网文档,一个是因为自己在学习阶段,自己手动敲一遍印象会更深,一个是因为GitHub访问比较慢,所以放在自己的博客,以后看着方便点。原创 2015-10-22 17:18:46 · 3166 阅读 · 0 评论 -
requireJS&seaJS模块加载器原理:<script>标签加载外部js文件用到的onload、onerror和onreadystatechange事件
之前学习了requireJS框架,最近在学习seaJS框架,两者都是js模块文件的加载器,做的事情大致是相同的。这篇文章学习下标签的一些特性,了解框架是如何加载js文件的。requireJS和seaJS其实都是通过动态创建标签,设置好标签的相关属性,然后再将标签插入到节点下。onload:当js文件下载完成,并且执行结束(脚本初始化)后,会触发。onerror:当加载js文件报错的时候会被调用,比如文件路径错误、网络不可用等情况。onreadystatechange:则是IE特有的,不同的版本支持情况还不原创 2015-10-26 18:09:43 · 4585 阅读 · 0 评论