AMD模块化方案require.js

【问】AMD模块化方案require.js是什么?
【答】
1. require.js为什么出现
(1)实现js文件的异步加载,避免网页失去响应;
(2)管理模块之间的依赖性,便于代码的编写和维护。

2. require.js用法
(1)引入requre.js

// 1. data-main属性的作用是,指定网页程序的主模块。在上例中,就是js目录下面的main.js,这个文件会第一个被require.js加载。由于require.js默认的文件后缀名是js,所以可以把main.js简写成main。
// 2. async属性表明这个文件需要异步加载,避免网页失去响应。IE不支持这个属性,只支持defer,所以把defer也写上。
 <script src="js/require.js" data-main="js/main" defer async="true"></script>

(2)定义和使用 模块

//main.js require.js的全局配置
require.config({
    baseUrl: '../../', //基础路径
    paths: {
        jquery          : '../vendor/jquery/jquery', //相当于../../../vendor/jquery/jquery
        underscore      : '../vendor/underscore/underscore',
        backbone        : '../vendor/backbone/backbone',
    },

    shim: { //非按照AMD规范定义的库,这样兼容
        underscore: {
            exports: '_'
        },
        backbone: {
            deps: [
                'underscore',
                'jquery'
            ],
            exports: 'Backbone'
        },
    }
});

//a.js 模块定义
// 语法:define([id,deps,] callback);
define(['jquery', './utils'], //utils是以路径的方式引入的
    function ($) { //注意!!!若该模块无返回值,形参中可不写,如一些模块是挂在window上的,如很多工具方法
        $(function () {
            alert($);
        });
    },
    function (err) {
        //异常
    }
)


//c.js 模块使用
//语法:require(deps[,callback]);
require(['index']);

参考1: requireJS 从概念到实战 - 卷柏的花期 - 博客园
参考2:require.js的用法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值