easy

DocsVersion : 1.0.0

define( [ name, deps ], factory )

全局方法Define in : easy.js

定义一个模块,该方法符合 AMD规范。查看模块加载器的详细说明

参数
  • name
    String
    可选

    模块名称,在开发阶段一个文件就是一个模块,而文件名就是一个模块的模块名,建议在开发阶段省略该参数。没有定义模块名的模块就称为匿名模块,匿名模块会在合并的时候通过合并工具自动加上模块名。如果你要定义模块名,那么必须和模块的文件名保持一致。

  • deps
    Array
    可选

    该参数定义了该模块需要依赖哪些模块,依赖模块的列表包含的是一个个模块标识。

  • factory
    Function
    必需

    模块内容。该函数里面的代码就是模块本身的代码。factory 函数可以使用 return 返回一个值,该值就是该模块的 exports 外部接口,非常简便。factory 函数接受的参数就是依赖模块向外部暴露的 exports 接口,参数顺序就是依赖模块的排列顺序,同 seed.use 的 callback 函数一样。

例子1

定义名叫 hello 的模块。

hello.js 的代码:
define( 'hello', function(){
    console.log( 'hello ' );
});

定义 world 模块,world 有 exports。

world.js 代码:
define(function(){
    return 'world';
});

如果想让 hello 模块依赖 world 模块,并且省略模块名,那么可以将 hello 模块这么改造。

hello.js 的代码:
define(['world'], function( world ){
    console.log( 'hello ' + world );  // 'hello world'
});

定义 hello 模块,有多个依赖模块。

hello.js 的代码:
define([ 'test1', 'test2', 'test3' ], function( test1, test2, test3 ){
    console.log( 'hello ' + test1 + test2 + test3 );
});