使用 RequireJS 2.0.1 和 shim 加载 jQuery、Underscore 和 Backbone

简介

前端开发中,使用模块化开发的好处是显而易见的:保持代码结构清晰,减少全局变量等,提高代码可维护性。而 RequireJS 是一个流行的 AMD 模块加载器,可以帮助我们轻松地管理依赖关系和加载模块。

然而,当你需要加载一些非 AMD 的库时,例如 jQuery、Underscore 和 Backbone,就需要使用 RequireJS 的 shim 配置。本文将介绍如何使用 RequireJS 2.0.1 和 shim 来加载这些常用的库。

准备工作

在开始之前,需要先安装 RequireJS 并创建一个示例项目。可以通过以下命令安装:

--- ------- ---------

接下来,在项目根目录下创建一个 index.html 文件和一个 main.js 文件。在 index.html 文件中添加以下内容:

--------- -----
------
------
    ---------------- ---------------
-------
------
    --------- ---------------
    ------- ---------------- --------------------------
-------
-------

这里使用了 RequireJS 自带的脚本标签来加载 main.js 文件,并将它设为入口模块(entry point module)。

main.js 文件中,我们需要配置 RequireJS。首先定义一个 baseUrl 变量,用于指定模块文件的基本路径:

--- ------- - -----

接下来,可以开始配置 RequireJS。首先引入 require.config 方法:

----------------
    
---

然后设置一些常用的配置项,例如 baseUrlpathsshim

----------------

    -- -----------
    -------- --------

    -- -----------
    ------ -
        ------- ---------------------------------------------
        ----------- --------------------------------------------------------
        --------- --------------------------------------------------
    --

    -- --- --- -------
    ----- -
        ------- -
            -------- ---
        --
        ----------- -
            -------- ---
        --
        --------- -
            ----- ---------- --------------
            -------- ----------
        -
    -

---

这里定义了三个非 AMD 模块:jQuery、Underscore 和 Backbone。在 paths 中,我们为它们定义了别名和 CDN 地址。而在 shim 中,我们配置了它们之间的依赖关系和导出变量。

加载 jQuery

首先让我们来看看如何加载 jQuery。在 main.js 文件中添加以下代码:

------------------- ----------- -
    ---------------
---

这里使用了 require 方法来加载 jQuery 模块。当模块加载完成后,它会执行回调函数,并将 jQuery 作为参数传入。我们可以通过 $ 变量来引用它。

加载 Underscore

接下来让我们来加载 Underscore。在 main.js 文件中添加以下代码:

----------------------- ----------- -
    ---------------
---

这里同样是使用 require 方法来加载 Underscore 模块。当模块加载完成后,它会执行回调函数,并将 Underscore 作为参数传入。我们可以通过 _ 变量来引用它。

加载 Backbone

最后让我们来加载 Backbone。在 main.js 文件中添加以下代码:

--------------------- ------------------ -
    ----------------------
---

这里同样是使用 require 方法来加载 Backbone 模块。不过,在 `

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/28649