jraiser模块加载执行简要总结
2016-02-01 16:59
495 查看
1 在html文件中,通过require方式来加载指定的入口文件;
2 然后通过正则表达式来匹配入口文件中的所有require的依赖文件;注意,此时入口文件已加载完毕,不过,还没执行而已。
3 之后逐一通过script来添加到dom中,进行加载所有依赖的js文件;
4 等所有依赖的js文件都加载完毕,再执行入口文件;
5 执行入口文件的关键方法是:Module.export方法中的var result = self._factory.call(window, _require, module.exports, module);。
小结:
1 这是和seajs类似的CMD规范(通用模块加载)[AMD是异步模块加载];
2 在js文件中,做不到动态加载js文件。也就是,想在用到某个模块的时候,才通过require来加载,是做不到的。
因为jraiser在该js文件中,加载的时候,就会遍历整个文件中的require,然后统一加载所有require的js文件。
这估计就是和requirejs(AMD)最大的不同之处。
2 然后通过正则表达式来匹配入口文件中的所有require的依赖文件;注意,此时入口文件已加载完毕,不过,还没执行而已。
3 之后逐一通过script来添加到dom中,进行加载所有依赖的js文件;
4 等所有依赖的js文件都加载完毕,再执行入口文件;
5 执行入口文件的关键方法是:Module.export方法中的var result = self._factory.call(window, _require, module.exports, module);。
小结:
1 这是和seajs类似的CMD规范(通用模块加载)[AMD是异步模块加载];
2 在js文件中,做不到动态加载js文件。也就是,想在用到某个模块的时候,才通过require来加载,是做不到的。
因为jraiser在该js文件中,加载的时候,就会遍历整个文件中的require,然后统一加载所有require的js文件。
这估计就是和requirejs(AMD)最大的不同之处。
相关文章推荐
- command/usr/bin/codesign failed with exit code 1- code sign error
- spark的task调度器(FAIR公平调度算法)
- 关于 conversion to dalvik fail with error 1
- bug记录:Mybatis-error:Parameter 'xxx' not found. Available parameters are [list]
- RAID详解
- intel Baytrail 平台audio驱动match流程
- filco minila air在debian下的蓝牙适配安装
- waitpid函数实例
- ug-Assertion failure in [MyClass layoutSublayersOfLayer:]
- 剪发 Haircut
- hdoj--1151--Air Raid(最大独立集)
- hdoj--1151--Air Raid(最大独立集)
- Starting httpd: httpd: apr_sockaddr_info_get() failed
- 【转】UltraISO制作U盘启动盘安装Win7/9/10系统攻略
- 【Xamain 跨平台机制原理剖析】
- tools:context=".MainActivity的作用
- rails s 命令不起作用
- 出现( linker command failed with exit code 1)错误总结
- [INS-41112] Specified network interface doesnt maintain connectivi
- Rails 使用 Google Analytics 示例