requirejs还有很多不错的功能,但是可能不是非常常用,下面来介绍下这些功能:
1. map参数
map: { "new_aaa": { "ccc": "moudle/ccc/ccc1" }, "old_aaa": { "ccc": "moudle/ccc/ccc2" }, "*": { "ccc": "moudle/ccc/ccc3" } }
map的作用主要是方便用户配置同一模块的不同版本,比如网站有一部分改版了,需要升级到最新版的jquery,但是未改版的页面可能与最新版的jquery不兼容,还是需要使用老版本的jquery,这个时候就要用到map。
拿上面的代码举例,new_aaa为一个新开发模块,old_aaa为一个老的模块,*表示剩余的模块,三种模块都需要引用ccc模块,但是他们各自想要的ccc可能有点区别,所以他们各自引用不同的ccc,说到这里大家要觉得奇怪了,这样不是还是定义了三个ccc模块吗?一点都没有方便啊。事实果真如此吗? 非也非也。下面我来说说map的优势:
① 模块名统一,比如是jquery,那所有依赖jq的地方,都能直接["jquery"]而不用有些地方["jquery-1.10.1"],["jquery-1.7.1"]。
② 方便修改,比如我某个地方突然要有新版jq了,那直接config里修改一下就可以了,而不用特意找到要修改模块的地方去修改。
具体代码看demo吧
时间: 2024-10-12 06:55:03