首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Require.js 详解

    Require.js 是一个JavaScript文件和模块加载器,基于Asynchronous Module Definition (AMD) 规范。...Require.js 的基本概念 1. AMD 规范 Asynchronous Module Definition (AMD) 是一种定义模块及其依赖关系的规范。...安装 Require.js 你可以通过以下两种方式之一来安装 Require.js: 下载 Require.js:从 Require.js 官网 下载 require.js 文件,然后将其包含在项目中。...总结 Require.js 是一个强大的模块加载器和依赖管理工具,通过 AMD 规范定义模块和依赖,提升了代码的组织性和可维护性。...在现代前端开发中,尽管有了如 ES6 模块等新特性,Require.js 依然是一个重要的工具,特别是在需要支持老旧浏览器或特定项目需求时。 参考文献 Require.js 官网 AMD 规范

    8210

    Require.js

    通过require.js 可以对javascript文件进行别样引用 Require.js的使用: 第一步: 只需在html页面中引用require.js 就够了 第二步: 在引用require.js...的时候,要设置async属性为ture 确保不会阻塞页面 第三步:单写一个js文件,用于引用相关的javascripnt文件,这个文件可以随便命名,一般叫main.js 第四步: 在引用require.js...时,通过data-main属性指定main.js ***模块化**** 原本我们在引用require.js,指定main.js后,可以直接在main.js中书写我们的javascript代码。...模块化:把我们需要的功能和属性定义成一个js文件,通过引用这个js文件就能使用其功能和属性 使用require.js 实现的模块化满足 AMD 标准 → Asynchronous Module Define

    4.3K20

    Require.Js 前端模块化

    前端模块化 (Require.js) ? 为什么要用 前端模块化 早期,js代码量小, 所有Javascript代码可以都写在一个文件里面,只要加载一个js文件就够了。...AMD : Async Module Definition 异步模块定义 require.js 依赖前置:在一开始就将所有的依赖项全部加载 CMD : Common Module Definition...通用模块定义 sea.js 依赖延迟:在需要的时候才去加载依赖项 模块化的实现(require.js) 下载后,把它放在目录下面,就可以加载了   定义模块 在require.js中,每个模块也是分成单独的文件保存的 每一个模块中都有自己单独的作用域!...标签的属性 这个属性可以用来指定一个文件,加载文件的路径会以这路径为基础, 指定的文件会在require.js加载完毕之后,通过异步的方式加载,并且执行里面的代码, <script src="<em>require.js</em>

    3.8K40

    JAVASCRIPT模块化3篇之三:require.js

    ; 但这样的话,就没必要使用require.js了。真正常见的情况是,主模块依赖于其他模块,这时就要使用AMD规范定义的的require()函数。   ...因此,require.js提供了一个优化工具,当模块部署完毕以后,可以用这个工具将多个模块合并在一个文件中,减少HTTP请求数。 五、AMD模块的写法 require.js加载的模块,采用AMD规范。...六、加载非规范的模块 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。...但是实际上,虽然已经有一部分流行的函数库(比如jQuery)符合AMD规范,更多的库并不符合。那么,require.js是否能够加载非规范的模块呢? 回答是可以的。...举例来说,underscore和backbone这两个库,都没有采用AMD规范编写。如果要加载它们的话,必须先定义它们的特征。

    1.6K20

    Javascript模块化编程(三):require.js的用法

    ; 但这样的话,就没必要使用require.js了。真正常见的情况是,主模块依赖于其他模块,这时就要使用AMD规范定义的的require()函数。   ...因此,require.js提供了一个优化工具,当模块部署完毕以后,可以用这个工具将多个模块合并在一个文件中,减少HTTP请求数。 五、AMD模块的写法 require.js加载的模块,采用AMD规范。...六、加载非规范的模块 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。...但是实际上,虽然已经有一部分流行的函数库(比如jQuery)符合AMD规范,更多的库并不符合。那么,require.js是否能够加载非规范的模块呢? 回答是可以的。...举例来说,underscore和backbone这两个库,都没有采用AMD规范编写。如果要加载它们的话,必须先定义它们的特征。

    3K60

    Javascript模块化编程(三):require.js的用法

    ; 但这样的话,就没必要使用require.js了。真正常见的情况是,主模块依赖于其他模块,这时就要使用AMD规范定义的的require()函数。   ...五、AMD模块的写法 require.js加载的模块,采用AMD规范。也就是说,模块必须按照AMD的规定来写。 具体来说,就是模块必须采用特定的define()函数来定义。...六、加载非规范的模块 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。...但是实际上,虽然已经有一部分流行的函数库(比如jQuery)符合AMD规范,更多的库并不符合。那么,require.js是否能够加载非规范的模块呢? 回答是可以的。...举例来说,underscore和backbone这两个库,都没有采用AMD规范编写。如果要加载它们的话,必须先定义它们的特征。

    2.2K90

    js模块化编程之彻底弄懂CommonJS和AMDCMD!(转)

    所以很显然,AMD比较适合浏览器环境。目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。 RequireJS就是实现了AMD规范的呢。...; 但这样的话,就没必要使用require.js了。真正常见的情况是,主模块依赖于其他模块,这时就要使用AMD规范定义的的require()函数。   ...因此,require.js提供了一个优化工具,当模块部署完毕以后,可以用这个工具将多个模块合并在一个文件中,减少HTTP请求数。 五、AMD模块的写法 require.js加载的模块,采用AMD规范。...六、加载非规范的模块 理论上,require.js加载的模块,必须是按照AMD规范、用define()函数定义的模块。...但是实际上,虽然已经有一部分流行的函数库(比如jQuery)符合AMD规范,更多的库并不符合。那么,require.js是否能够加载非规范的模块呢? 回答是可以的。

    1.6K30

    【前端面试题】10—18道有关模块化开发的面试题(附答案)

    12、AMD与CMD的区别是什么? 区别如下 (1)对于依赖的模块,AMD提前执行,CMD延迟执行,不过 require.JS从2.0版本开始,也改成可以延迟执行(根据写法不同,处理方式不同)。...16、require.JS与 SeaJS的异同是什么? 相同之处如下。...require.JS遵循的是AMD规范, SeaJS遵循的是CMD规范。规范的不同,导致了两者API的不同。...(3) require.JS尝试让第三方类库修改自身来支持 require.JS。SeaJS不强推,采用自主封装的方式来“海纳百川”。 17、系统在设计上遵循几个原则?...服务器端规范主要是 CommonJS, Node.js用的就是 CommonJS规范客户端规范主要有推崇依赖前置的AMD和推崇依赖就近的CMD。AMD规范的实现主要有 require.js

    2K20

    JS模块化编程以及AMD、CMD规范、Webpack

    提示 由于CommonJS和AMD都十分流行,但似乎缺少一个统一的规范。于是,UMD(通用模块规范)出现了,它可以同时支持这两种风格。...这就是AMD规范诞生的背景。 AMD是"Asynchronous Module Definition"的缩写,意思就是"异步模块定义"。它采用异步方式加载模块,模块的加载不影响它后面语句的运行。...目前,主要有两个Javascript库实现了AMD规范:require.js和curl.js。本系列的第三部分,将通过介绍require.js,进一步讲解AMD的用法,以及如何将模块化编程投入实战。...require.js的加载 使用require.js的第一步,是先去官方网站下载最新版本,下载后,假定把它放在js子目录下面,就可以加载了。...对于不知道是否遵守了amd标准的模块,可引入后打印一下,看一下引入后传递的是什么。

    2.3K10
    领券