• require.js


    前面我们已经初步认识了模块化,今天就更深入的了解一下模块化!下面是我今天所学到的,虽然还有不懂的,后面我会弄懂的,下面是我分享的今天的收获!

    模块化的规范:我们必须要用同样的方法来写,如果不是这样,我们各自写各自的,那样就乱了!Javascript模块规范共有两种:CommonJSAMD

    CommonJS中,有一个全局性方法require(),require()用于加载模块

    比如:

    var math = require('math');

    math.add(2,3); // 5

    AMD是”Asynchronous Module Definition”,是异步模块化定义。

    AMD也采用require()语句加载模块,require有两个参数,是用异步方法加载模块,模块的加载不会影响后面的代码运行,但是只要依赖这个模块的语句都会定义在一个回调函数中,等加载完成后,回调函数才会运行!写法如下:

    require([module], callback);(第一个参数[module],是一个数组,里面的成员就是要加载的模块;第二个参数callback,则是加载成功之后的回调函数

    代码:

    require(['math'], function (math) {

    math.add(2, 3);

    });

    require.js加载的模块是按照AMD的规范写的!

    比如:

    假如现在有一个math.js文件,它定义了一个math模块。那么,math.js就要像这样写:

    // math.js define(function (){

    var add = function (x,y){ return x+y;

    };

    return { add: add };

    });

    加载方法如下:

    // main.js

    require(['math'], function (math){

    alert(math.add(1,1));

    });

    模块必须采用特定的define()函数来定义。如果一个模块不依赖其他模块,那么可以直接定义在define()函数之中!

    如果这个模块还依赖其他模块,那么define()函数的第一个参数,必须是一个数组,指明该模块的依赖性

    例如:

    define(['myLib'], function(myLib){

    function foo(){ myLib.doSomething();

    } return {

    foo : foo };

    });

  • 相关阅读:
    使用Fiddler模拟客户端http响应
    Vim显示行号
    Convert int to byte array
    bare linefeeds received in ASCII mode
    Memory Analyse Tool
    what is the difference between static and normal variables in c++
    Looper Could not create wake pip
    Convert Java Doc to CHM using jd2chm
    ARM(RISC)和x86(CISC)的技术差异
    处理器架构——从RISC与CISC到x86、ARM、MIPS
  • 原文地址:https://www.cnblogs.com/watchmen/p/5014507.html
Copyright © 2020-2023  润新知