据说公司的项目较多的用到requirejs管理依赖,所以大熊同学挤出了5分钟休息时间学习了一下,现在分享一下。如果你想了解requirejs的实现原理,请绕道!如果你想了解requirejs的高级用法,请绕道!那么问题来了,这篇小文还有人看吗???
requirejs是干啥的啊?
曾经,我们将一些js组件放到不同的文件,然后通过script标签引入,如果几个组件有依赖,那么要小心了,你必须将被依赖的放到前面,否则的话会出现啥啥啥is undefined
或者啥啥啥is not a function
之类的错误。比如一个jquery的插件显然是依赖jquery核心库的,所以jquery核心库文件必须先引入。项目小组件少依赖简单还好,要是项目大组件多依赖复杂就糟糕了。咋办?用requirejs啊??!
只要按照requirejs规范写,他会从一个根开始检查依赖,根据这些依赖关系自动的帮助我们插入script标签,很棒,对不对?这样依赖我们不就再也不用纠结哪个标签应该放在前,哪个该放在后了吗???????
requirejs咋用啊?
请记住使用requirejs的口诀,两函数一配置一属性
data-main属性
requirejs需要一个根来作为搜索依赖的开始,data-main用来指定这个根。<script src="scripts/require.js" data-main="scripts/app.js"></script>
这里就指定了根是app.js,只有直接或者间接与app.js有依赖关系的模块才会被