`

AMD规范和RequireJS模块化

AMD 
阅读更多
什么是AMD模式?
define和require两个定义模块调用模块的方法合称为AMD模式
   **用于浏览器环境,允许异步加载模块,也可以根据需要动态加载模块。

1.引入require.js到网页,网页中就能进行模块化编程了

<p class="pp" style="display:none">default hidden</p>
<script data-main="javascripts/test.js" src="/components/requirejs/require.js"></script>

data-main加载主文件,指定主代码所在的脚本文件,不可省略。

2.定义模块
1)独立定义模块:不依赖其他模块的模块
define(function (){
    return {
        add: function (a, b) {
            return a + b;
        }
    };
});


2)非独立模块:依赖其他模块的模块
//第一个参数是数组:成员是当前模块依赖的模块
//第二个参数是函数:参数与数组成员一一对应,前面数组所有成员加载成功后才被调用。返回一个对象供其他模块调用。define(['jquery'],function(jquery){
    return {//函数返回值就是输出的模块
        showme:function(el){
            $(el).show();
        }
    };
});


3.主模块require调用模块

//第一个参数是数组:表示依赖关系
require(['config','math/math','math/show'], function (config,math,show) {
    debugger;
    console.log(math.add(1,2));
    show.showme('.pp');
});


4.配置require.js config方法
  1)paths:指定各个模块的位置。
  2)baseUrl:指定本地模块位置的基准目录。
  3)shim:帮助require.js加载非AMD规范的库

require.config({
    paths : {
        jquery : '../components/jquery/dist/jquery',
        angular: '../components/angular/angular'
    }
   shim : {
        angular: {
            exports: 'angular'
        }
//backbone 依赖于underscore,输出符号为'Backbone'
        backbone:{
            deps:['underscore'],
            exports:'Backbone'
        }
        underscore:{
            exports:'_'
        }
   }
});
分享到:
评论

相关推荐

    ionic项目应用requireJs前端模块化 示例

    RequireJS 提供了一种遵循 AMD(Asynchronous Module Definition)规范的模块化方式,AMD 适用于浏览器环境,它允许多个模块并行加载,提高了页面的加载速度。在 RequireJS 中,我们定义模块和依赖,然后通过 `...

    seajs和requirejs模块化简单案例分析

    本文将深入探讨Seajs和RequireJS这两款经典的模块化工具,并通过具体的案例来阐述它们的工作原理和使用技巧。 Seajs是一款基于CMD(Common Module Definition)规范的模块加载器,它允许开发者按需加载模块,避免了...

    符合AMD规范的简单模块化加载工具

    AMD规范下的模块加载工具就是这样的包管理器之一,它使得开发者能够按照模块化的思想编写代码,每个模块都有自己的作用域,避免了全局变量污染,同时支持动态加载,提高页面性能。 `loader.js-master`这个压缩包很...

    requirejs模块化

    综上所述,RequireJS作为JavaScript的模块化解决方案,通过AMD规范,为Web应用提供了良好的代码组织方式和高效的资源加载策略,提升了开发效率和代码质量。在实际开发中,正确理解和运用RequireJS,能有效解决...

    模块编程AMD规范

    通过以上内容,我们可以看出RequireJS和AMD规范在JavaScript模块化编程中的重要作用,它们提供了高效、灵活的代码组织方式,促进了代码的模块化和可维护性。对于开发大型的、依赖复杂的前端应用来说,掌握AMD规范和...

    Javascript模块化编程(二)AMD规范共3页.pd

    总结来说,JavaScript的AMD规范通过异步加载和依赖管理解决了大型项目中模块的组织和加载问题,提供了高效且灵活的模块化解决方案。在JavaScript模块化编程中,理解并掌握AMD规范对于提升项目开发效率和代码质量至关...

    requirejs模块配置及定义

    `shim`属性用于处理那些不符合AMD规范的模块,使其能够兼容RequireJS。具体来说: - **`deps`属性:** 定义该模块的依赖项。 - **`exports`属性:** 指定导出的全局变量名,即该模块加载后挂载在全局作用域(如`...

    Javascript模块化编程(一)AMD规范(规范使用模块)

    总的来说,AMD规范通过异步加载机制,为在浏览器环境下实现JavaScript模块化提供了有效的解决方案。它不仅提高了代码的组织性,还优化了网络性能,是当前流行的前端开发实践之一。然而,随着技术的发展,目前ES6模块...

    在Html中使用Requirejs进行模块化开发的解析.docx

    RequireJS是一款基于AMD规范的JavaScript模块加载器。它的核心特性包括异步加载模块、定义依赖关系以及支持多种类型的模块。通过RequireJS,开发者可以在项目中更高效地管理和加载模块,从而提高前端性能和用户体验...

    基于RequireJS和JQuery的模块化编程——常见问题全面解析

    在使用RequireJS和JQuery进行模块化编程时,开发者需要对这些工具的使用细节有所了解,比如AMD规范的定义方式、JQuery模块化的引用方法,以及如何处理模块化开发中常见的循环依赖问题等。通过熟悉这些知识点,开发者...

    使用requirejs模块化开发多页面一个入口js的使用方式

    本文主要介绍了在多页面应用中使用RequireJS进行模块化开发的实践方式,特别是如何只通过一个入口JavaScript文件来实现模块化的加载和管理。这里将详细介绍RequireJS的使用方法、原理和配置策略,以及如何通过该方式...

    requirejs-2.1.17.zip

    8. **模块化与CommonJS兼容**:虽然RequireJS遵循AMD规范,但通过使用shim配置,可以让不支持AMD的库(如遵循CommonJS规范的库)也能与RequireJS协同工作。 9. **命名空间**:RequireJS 允许通过模块ID创建命名空间...

    requireJs学习文档+demo

    RequireJS 是一个 JavaScript 文件和模块加载器,它使得在浏览器端使用异步方式来加载和组织脚本,从而解决了...通过阅读演示文稿和运行示例,你可以更深入地了解 RequireJS 如何解决前端开发中的模块化和加载问题。

    SeaJS与RequireJS区别

    SeaJS 和 RequireJS 都是为了解决 JavaScript 的模块化和异步加载问题,它们各有优缺点,选择哪一个取决于项目需求和个人喜好。理解它们的工作原理和差异,可以帮助开发者更好地决定在实际项目中使用哪种工具。通过...

    requirejs demo

    RequireJS 是一个 JavaScript 库,专门用于管理前端的模块化依赖。它引入了 AMD(Asynchronous Module Definition)...通过实践,你可以更深入地理解AMD规范和RequireJS的工作原理,这将对你的前端开发工作大有裨益。

    前端开发模块化requireJS中文手册

    RequireJS 是一种 JavaScript 文件管理和加载工具,它的目标是简化大型项目的模块化管理,并提高代码加载效率。本文档将详细介绍如何使用 RequireJS 来组织和加载前端 JavaScript 模块。 #### 二、加载 JavaScript ...

    requirejs_Demo演示

    它引入了AMD(异步模块定义)规范,使得JavaScript模块化变得简单而高效,尤其是在需要加载大量脚本的情况下。RequireJS的核心功能是延迟加载和按需加载,这有助于减少页面加载时间并优化前端性能。 在`requirejs_...

    requirejs中文文档

    4. **主文件(Main File)**:项目通常有一个主文件,如`main.js`,它是整个应用的入口点,用于初始化和配置 RequireJS。 5. **依赖注入**:在定义模块时,可以声明其依赖的其他模块,RequireJS会自动处理这些依赖...

Global site tag (gtag.js) - Google Analytics