requriejs

require.js

2017-05-11  本文已影响8人  daixi859

RequireJS 是一个JavaScript模块加载器,非常适用在浏览器中使用。

引入库

其中script标签的data-main属性表示入口文件的引入路径

<script data-main="js/main.js" src="./js/require.js"></script>

require.js三板斧:require define require.config

require:

// 第一个参数依赖的模块,第二个为回调函数
// 注意:a.js表示相对于html文件的路径,写a是相对于script标签的data-main定义文件的相对路径
// 回调函数参数表示a,b模块返回的对象
// requirejs AMD规范,提前把要依赖的模块家载好,再执行后面的回调
// seajs  CMD规范,不需要提前执行,顺序执行加载(即使用到的时候执行加载)
require(['a', 'b'], function(a, b) {
    console.log(a.sum(2, 5));
    console.log(b.mult(2, 5));
});

define:

// a.js
define(function() {
    function sum(a, b) {
        return a+b;
    }

    return { // return 表示暴露给外面的对象
        sum : sum
    };
});
// b.js
define(function() {
    function mult(a, b) {
        return a * b;
    }

    return {
        mult : mult
    };
});

require.config:

require.config({
    baseUrl : 'js', // 根目录
    paths: {
        tools: ['libs/tools'] // 定义模块名与模块文件的映射关系,也可以设置数组,前面如果找不到就找后面的,一般用户cdn的备选方案
    }
})

require(['a', 'b', 'tools'], function(a, b, tools) {
    console.log(a.sum(2, 5));
    console.log(b.mult(2, 5));
    console.log(tools.sayHello('Jack'));
});
// libs/tools.js
define(function() {
    function hello(name) {
        return 'hello ' + name + ' !';
    }

    return {
        sayHello: hello
    };
})
上一篇 下一篇

猜你喜欢

热点阅读