【模块化】 RequireJS入门教程总结与推荐
之所以学习RequireJS,肯定对 模块化有一定的理解。这里有几篇学习 RequireJS的文章,推荐给大家去学习。
- Javascript模块化编程(一):模块的写法
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(三):require.js的用法 【require的使用,paths,baseUrl,shim 以及 deps,exports】
- ~~~~~~~~~~~~~上面这三篇是阮一峰老师的文章,【简单易懂】~~~~~~~~~~~~~~~~
- 但是对 requirejs 讲的内容,感觉少了点东西
- 快速理解RequireJs 【看后面作者遇到的坑,以及 shim 中的 init 方法】
总结:【只需要了解几个属性就可以用起来啦】【源码】github 源码
-
参数1:依赖的模块,数组形式,
参数2:回调函数,参数:跟每个 依赖模块exports的对象顺序是一致的
require(['module1','module2'],function(){ //TODO: })
require.config({ baseUrl:' ' , paths:{ ' jquery' : 'lib/jquery' }, shim:{ } })
- 什么叫AMD规范,如何编写AMD规范的脚本
- define([依赖的模块],function(){
//TODO: 自己想写的方法,或者属性,但是要对外输出,则需要有一个 return, return 出来的,其他模块可以拿来用
})
- define([依赖的模块],function(){
详细:【相对详细一点,哈】
学习了上面的几篇文章之后,尝试做了一个实践了一下,来理解如何使用RequireJS,其实真的不难。
- RequireJS是基于AMD来实现的
- 什么事AMD,是什么CommonJS?
- CommonJS 【针对服务端】
- AMD 【有了服务端的,当前也要有前端的】
- 为什么不用CommonJS,而还需要去选AMD呢?
- 因为CommonJS不适用于浏览器端,因为JS脚本,来自服务端,请求脚本到浏览器需要时间,如果等待加载完,在执行下一步,那么整个页面渲染就卡住了,应用就停住了。
- So,浏览器端不能用 同步加载 , 而要用 异步加载。
- AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"
- 异步加载AMD
- 为什么不用CommonJS,而还需要去选AMD呢?
- 每次加载模块,总要输入相对路径,或者绝对路径,长长的一大串,坑爹啊,如果多个地方调用了,那后期文件修改了位置,那岂不是修改到吐?
- 啥,你说你的JS模块文件,都是 某个指定的路径下? baseUrl 就出来了
- 我要是早期脚本,不是按照AMD来写的,那肿么办呢? shim 属性
分类:
JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2015-01-04 【FLEX教程】#008 开发中的问题笔记(慢更…)
2015-01-04 【FLEX教程】#007 如何让JS调用SWF里的方法