你的位置:首页 > 软件开发 > Java > JavaSript模块规范

JavaSript模块规范

发布时间:2016-11-11 18:00:08
JavaSript模块化 在了解AMD,CMD规范前,还是需要先来简单地了解下什么是模块化,模块化开发? 模块化是指在解决某一个复杂问题或者一系列的杂糅问题时,依照一种分类的思维把问题进行系统性的分解以之处理。模块化是一种处 ...

JavaSript模块化

        amdjs 的API   https://github.com/amdjs/amdjs-api/wiki    也等价于
define(function(){  return{    method1: function(){},    method2: function(){}  }});
     或者:
define( function( require ){  var m1 = require( 'module1' ),     m2 = require( 'module2' );  ...});
     在加载 foo 与 bar 两个模块之后执行回调函数实现具体过程。    define 和 require 这两个定义模块,调用模块的方法合称为AMD模式,定义模块清晰,不会污染全局变量,清楚的显示依赖关系。AMD模式可以用于浏览器环境并且允许非同步加载模块,也可以按需动态加载模块。    通过字符串定义模板模块:
define('this is {{data}}.');
    factory 为函数的时候,表示模块的构造方法,执行构造方法便可以得到模块向外提供的接口
define( function(require, exports, module) {   // 模块代码});
    define( id?, deps?, factory );    其与 AMD 规范用法不同。    require.async( id, callback? );    require.resolve( id )    当然也可以使用 return 直接向外提供接口。
define(function( require, exports ){  return{    foo : 'bar', // 向外提供的属性    do : function(){} // 向外提供的方法  }});
    也可以简化为直接对象字面量的形式:
define({  foo : 'bar', // 向外提供的属性  do : function(){} // 向外提供的方法});
    与nodeJS中一样需要注意的是,一下方式是错误的:
define(function( require, exports ){  exports = {    foo : 'bar', // 向外提供的属性    do : function(){} // 向外提供的方法  }});
    需要这么做
define(function( require, exports, module ){  module.exports = {    foo : 'bar', // 向外提供的属性    do : function(){} // 向外提供的方法  }});
    传入的对象引用可以添加属性,一旦赋值一个新的对象,那么值钱传递进来的对象引用就会失效了。开始之初,exports 是作为 module.exports 的一个引用存在,一切行为只有在这个引用上 factory 才得以正常运行,赋值新的对象后就会断开引用,exports就只是一个新的对象引用,对于factory来说毫无意义,就会出错。

seaJS

    官网 http://seajs.org/docs/  

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:JavaSript模块规范

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。