Require.js 是一个非常经典的前端模块化加载器,它实现了 AMD (Asynchronous Module Definition, 异步模块定义) 规范,理解 Require.js 对于掌握前端模块化开发至关重要,尤其是在现代打包工具(如 Webpack, Vite)出现之前。

require.js 视频教程
(图片来源网络,侵删)

为什么需要学习 Require.js?

在学习视频之前,先明确学习它的目的:

  1. 理解模块化思想:Require.js 是前端模块化的鼻祖之一,通过学习它,你能深刻理解“模块”、“依赖”、“作用域”等核心概念,这对于学习任何现代前端框架和工具都大有裨益。
  2. 理解 AMD 规范:它是 AMD 规范最著名的实现,很多旧项目或特定场景下可能仍在使用。
  3. 了解前端构建工具的演进:从 Require.js 到 Webpack,你能看到前端工程化是如何一步步发展到今天的,有助于你理解现代打包工具的设计初衷。
  4. 维护旧项目:很多 2025 年之前的项目都使用 Require.js 进行模块管理。

Require.js 学习路线图(视频教程推荐顺序)

我按照从入门到实践的顺序,为您推荐一系列高质量的中文视频教程,并附上文字教程作为补充。

基础入门与核心概念

这个阶段的目标是理解 Require.js 是什么,以及如何用它来加载和管理最简单的模块。

  • 推荐视频教程

    require.js 视频教程
    (图片来源网络,侵删)
    • B站:尚硅谷 require.js 视频教程
      • 链接https://www.bilibili.com/video/BV1p4411y7sC/
      • 推荐理由:这是目前国内最系统、最清晰的 Require.js 视频教程之一,讲师讲解细致,从环境搭建到核心 API 使用,再到实际项目案例,覆盖得非常全面,非常适合零基础入门。
    • B站:黑马程序员 require.js 教程
  • 学习要点

    1. 模块化:为什么要把代码拆分成模块?(避免全局污染、提高复用性、便于维护)
    2. AMD 规范:理解 define()require() 的作用。
    3. data-main 属性:这是 Require.js 的入口点,必须掌握。
    4. require.config():配置模块路径、别名等。
    5. 路径解析:如何告诉 Require.js 去哪里找你的模块文件。

进阶实践与插件使用

掌握基础后,我们需要学习如何在实际项目中使用 Require.js,包括加载非 JS 文件、使用插件等。

  • 推荐视频教程

    • 继续观看 尚硅谷黑马 的教程,它们通常都包含进阶内容。
    • B站:Require.js 加载 CSS、图片等非 JS 文件
      • 搜索关键词require.js text pluginrequire.js css!
      • 推荐理由:实际项目中,模块不仅依赖 JS,还依赖 CSS 和图片,学习如何使用插件(如 text!css!)是必备技能。
  • 学习要点

    require.js 视频教程
    (图片来源网络,侵删)
    1. 加载 CSS:使用 css! 插件。
    2. 加载 HTML 模板:使用 text! 插件,常用于加载模板片段。
    3. require.js 插件机制:理解插件是如何工作的,如何自定义一个简单的插件。
    4. 与 jQuery 配合使用:学习如何优雅地在模块中使用 jQuery。
    5. 模块化第三方库:如何将一个非模块化的库(如旧版的 jQuery 插件)"包装"成 AMD 模块。

项目实战与优化

理论结合实践,通过一个完整的小项目来巩固所学知识,并了解 Require.js 的一些优化技巧。

  • 推荐视频教程

    • B站:使用 Require.js 构建一个简单的单页应用
      • 搜索关键词require.js 实战项目require.js spa example
      • 推荐理由:实战是最好的老师,尝试跟着视频或博客,自己动手搭建一个小型的单页应用,比如一个简单的 To-Do List 或一个展示型网站。
  • 学习要点

    1. 项目结构:如何组织一个使用 Require.js 的项目目录。
    2. 路由:如何结合 Require.js 实现简单的页面路由。
    3. 性能优化
      • require.js 优化工具 (r.js):学习使用 r.js 工具来合并、压缩和混淆你的 JS 文件,减少 HTTP 请求,提升加载速度。
      • data-main 模块内联:将入口模块直接内联到 HTML 中,避免二次请求。
    4. 调试技巧:如何调试 Require.js 加载模块时出现的问题(如路径错误、模块未定义等)。

必备文字教程与官方文档(视频的完美补充)

视频教程有时节奏快,或者需要反复观看某个知识点,文字教程可以作为查询和巩固的利器。

  1. Require.js 官方文档

    • 链接http://requirejs.org/ (点击 "API" 和 "Optimization" 查看详细文档)
    • 推荐理由最权威、最准确的资料,遇到任何 API 不确定的地方,第一反应就是查官方文档,虽然英文,但内容清晰,有大量示例。
  2. 阮一峰的网络日志 - Require.js教程

  3. B站/掘金/CSDN 的技术博客

    • 搜索关键词require.js 入门教程require.js r.js 优化require.js 实战案例
    • 推荐理由:可以找到大量由开发者分享的实战经验、踩坑记录和项目案例,这些是官方文档和基础视频很少涉及的。

学习建议与总结

  1. 动手敲代码:看十遍不如自己写一遍,一定要跟着视频教程,亲手把每个示例都敲一遍,并尝试修改、扩展。
  2. 理解优先:不要只记 API 的用法,要理解背后的设计思想,为什么 AMD 要用异步加载?”、“模块化解决了什么问题?”。
  3. 新旧对比:在学习 Require.js 的同时,可以稍微了解一下 Webpack 或 Vite 的基本用法,对比一下它们在配置方式、热更新、代码分割等方面的异同,你会对前端模块化有更深的理解。
  4. 明确目标:如果你的工作是维护旧项目,那就需要深入学习 Require.js 的优化和调试,如果你是为了学习前端工程化,那么理解其核心思想后,就可以将重点转向 Webpack/Vite 等现代工具。

希望这份详细的指南能帮助你顺利掌握 Require.js!祝你学习愉快!