博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RequireJS使用小结1——for Effective JavaScript Module Loading
阅读量:6330 次
发布时间:2019-06-22

本文共 1694 字,大约阅读时间需要 5 分钟。

1. require和define的区别

The require() function is used to run immediate functionalities, while define() is used to define modules for use in multiple locations. 

  • require()——用于一次性定义的语句或模块,或立即执行的语句或模块
  • define()—— 用于可以重用的模块,可以放在不同的地方

2. 管理依赖文件的载入顺序——Managing the Order of Dependent Files

RequireJS uses Asynchronous Module Loading (AMD) for loading files. Each dependent module will start loading through asynchronous requests in the given order. Even though the file order is considered, we cannot guarantee that the first file is loaded before the second file due to the asynchronous nature. So, RequireJS allows us to use the shim config to define the sequence of files which need to be loaded in correct order. Let’s see how we can create configuration options in RequireJS.

RequireJS使用异步模块载入机制(AMD),即每个独立模块都是通过异步请求载入,就是说无法保证第一个文件在第二个文件之前先行载入,为此,RequireJS使用shim来强制定义文件载入的顺序,如以下代码:

requirejs.config({  shim: {    'source1': ['dependency1','dependency2'],    'source2': ['source1']  }});

Under normal circumstances these four files will start loading in the given order. Here, source2 depends on source1. So, once source1 has finished loading, source2 will think that all the dependencies are loaded. However, dependency1 and dependency2 may still be loading. Using the shim config, it is mandatory to load the dependencies before source1. Hence, errors will not be generated.

上述定义表示: source2依赖于source1,只有source1完成载入后才载入source2;source1依赖于dependency1和dependency2,只有dependency1和dependency2完成载入后才载入source1,故整个载入顺序为:

                                                dependency1,dependency2(没有规定该两个文件的载入顺序)--> source1 --> source2

define(["dependency1","dependency2","source1","source2"], function() { );

 

转载于:https://www.cnblogs.com/JoannaQ/p/3393530.html

你可能感兴趣的文章
HDU-2044-一只小蜜蜂
查看>>
HDU-1394-Minimum Inversion Number
查看>>
jsonView谷歌插件
查看>>
df -h 卡住
查看>>
K-means算法(理论+opencv实现)
查看>>
第七天1
查看>>
[转] createObjectURL方法 实现本地图片预览
查看>>
Jquery中的Jquery.extend, Jquery.fn.extend,Jquery.prototype
查看>>
JavaScript—DOM编程核心.
查看>>
获得表字段名称和数据类型
查看>>
python 日志打印
查看>>
0319-流程控制
查看>>
Javascript鼠标滚轮事件兼容写法
查看>>
正则入门
查看>>
无限极分类原理与实现
查看>>
iOS GCD_1
查看>>
[BZOJ 3143][Hnoi2013]游走(高斯消元+期望)
查看>>
【LibreOJ】#541. 「LibreOJ NOIP Round #1」七曜圣贤
查看>>
PHP 基础
查看>>
词法分析器的设计与实现
查看>>