欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

RequireJS入门级_RequireJS能给我们带来什么帮助?

程序员文章站 2022-05-25 18:48:56
开始我的初步认识-RequireJS能给我们带来什么好处? 1、实现js文件的异步加载,避免网页失去响应; 2、管理模块之间的依赖性,便于代码的编写和维护。 3、基于AMD模块化机制,让前端代码也能实现模块化。查看《CommonJS和AMD/CMD区别详解》。 ......

前言:其实很早前就已经接触和了解到requirejs了,当时只是大概明白它能用来控制js的加载顺序,即:页面一定要先加载这个js,再加载那个js,对于requirejs的好处还没有一个真正的体会和认识,更没有深一步的了解,顶多只是有一些接触,且不明所以然。

直到最近本人遇到一个问题:我的一个页面js(a)的初始化方法需要根据用户设置的币种展示对应的金额,页面默认美元&美金,但是我的页面ajs呢,依赖于一个币种js(bjs),币种bjs里面提供的币种金额转换的方法,需要手动调用,但是bjs获取汇率的方法是页面加载完成后再获取。  也就是你在ajs转换这个金额的时候,理论上必须得先等bjs的页面初始化的异步请求js拿到结果后,再条用bjs的转换金额方法,这就有问题了:ajs和bjs都是页面加载完后自动调用,我无法保证他们的顺序啊? 我已经把bjs放在ajs上面了,还是不行,因为:它们都使用的初始化方法:$(function(){})做的事情,这就比较尴尬了。

后来想了半天相出一个方案:ajs转换金额时,先查询一下bjs里的对象的值都有没有,没有的话,我需要在ajs加一个同样功能的一部分的获取汇率的异步请求的bjs里的代码,放在ajs里主动调用,来保证bjs里需要的基础数据提前准备好!   这样做很笨:第一:增加了重复代码量,不便于维护。  第二:解决方案过时,太原始。    

同事给我整了requirejs的解决方案,使用它的特性:能让js进行依次依赖性的加载:require(["ajs"],function(){require["bjs"]});  强调:加载bjs之前,需要先把ajs加载完毕才行!!!非常好,非常有启发

 

于是从今天开始,我得认真的去了解requirejs到底是什么?能给我们带来什么好处? 该怎么用?

开始我的初步认识-requirejs能给我们带来什么好处?

1、实现js文件的异步加载,避免网页失去响应;

2、管理模块之间的依赖性,便于代码的编写和维护。

3、基于amd模块化机制,让前端代码也能实现模块化。查看《commonjs和amd/cmd区别详解》。

 

参考页面: