需求
最近一直在维护公司的老项目,看到前辈们的代码,有点怀疑自己的前端水平了,十多年前的代码,不禁让人感叹,能够运行十年甚至二十年的代码,应该可以算的上是古董了,不经有点膜拜之意。不敢下手,就连最基本的阅读感觉都快有点障碍了,吓得赶快恶补了一番。简单介绍一个,这是一个前后端没有分离的项目,前端采用JSP开发页面,代码里面包括了:AngularJS 1.0.0 的框架, RequireJS 2.0.0 等等,想看懂代码逻辑,不得不再补补。
1, RequireJS 模块加载器
AMD是RequireJS 的异步模块定义规范,AMD异步模块加载思想中有一个非常重要的思想就是注入依赖,让多个JS文件在define()函数中以数组元素的形式进行注入,然后在回调函数中被使用。这种思想,在早期的前端MVC时代,包括现在都是经典。
异步加载模块化JS 又称:AMD,它主要解决了两个问题:
1, 需要将文件模块化,实现JS文件的异步加载
2,需要文件依赖关系,管理模块之间的依赖,编译维护
require.js:是一个异步模块加载: AMD