模块化

以功能块为单位进行程序设计,实现求解算法的方法称为模块化,原则是“高内聚,低耦合”,高内聚是尽量减少不同文件中的函数的交叉引用,“低耦合”是模块与模块之间要相互独立,模块化的目的是为了降低程序设计的复杂度,使程序设计、调试和维护等操作简单化。模块化的产生是由于网站页面复杂度暴露出的,比如全局变量的冲突,函数命名冲突,依赖关系处理,实例中b.js依赖a.js,标签书写顺序必须按照先后排列。因此js模块化编程已经成为一个迫切的需要。

当下流行的模块化规范主要有,AMD、CMD、COMMONJS

AMD 是RequireJS 在推广过程中对模块化定义的规范化产出(异步加载 依赖前置)

   define(['package/lib'],function foo(){
     	lib.log('hello world')
     }
      return {
      	foo:foo
      }
     )

CMD 是SeaJS 在推广过程中对模块化定义的规范化产出 (同步 即用即返回 依赖就近)

 define(function(require,exports,module){
    	var $ = require('jqury');
    	var Spinning = require('./spinning')
    })

COMMONJS 是module.exports  在node.js 定义的

exports.area = fucntion(r){
   return Math.PI*r*r
};

ES6标准模块支持

主要特性 export/import 

import {name,clolr, weight} from "./car"
//导入时可以对模块重命名
import {name as busName} from "./car"
//如果没有模块输出也可加载其他模块
import lodash
//通过*整体加载某个文件
import *as car from "./car"
console.log(car.name);
console.log(car.color);

模块化的具体用法可以查看:

https;//github.com/tc39/ecma262
ES6解析需要babel:
http://babeljs.io/






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值