JS模块化编程标准总结

AMD 浏览器端标准 输出使用 define(),导入使用 require()

在 CommonJs 模块标准中我们载入模块使用的是 require(),输出模块用的是 exports 或者 module.exports

在 ES6 中载入模块我们用的是 import * from * ,输出模块用的是 export

exports 与 module.exports 的区别

//载入模块 
var m = require('./moduleA.js')
m.callName()
//输出模块
exports.callName = function(){
    console.log('jesse')
}
//也可以这样输出
module.exports.callName = function(){
    console.log('jesse')
}

module.exports 才是 module 模块的真正接口,而 exports 可以理解为它的一个副本

ES6 moduel 特性在node环境中并不能完全支持,解决方法是用babel编译

//载入模块 
import {callName} from './moduleA.js'
callName()
//输出模块
export function callName (){
    console.log('jesse')
}

1.export 与 export default 均可用于导出常量、函数、文件、模块等
2.你可以在其它文件或模块中通过 import+(常量 | 函数 | 文件 | 模块) 名的方式,将其导入,以便能够对其进行使用
3.在一个文件或模块中,export、import 可以有多个,export default 仅有一个
4.通过export方式导出,在导入时要加{ },export default 则不需要

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 模块通常是指编程语言所提供的代码组织机制,利用此机制可将程序拆解为独立且通用的代码单元。所谓模块化主要是解决代码分...
    MapleLeafFall阅读 4,878评论 0 0
  • Javascript模块化编程,已经成为一个迫切的需求。理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载...
    zhoulujun阅读 7,983评论 0 14
  • ES6模块机制 commonjs 在node环境下跑 ES6 esModule 前段使用为主 webpack co...
    叶戏尘阅读 4,227评论 0 2
  • 9号上午落实县教育局、红棉幼儿园、超慧幼儿园(六两),下午落实阳山县城其他私立幼儿园(少艺、马路)和公立幼儿园(欧...
    六两在路上阅读 1,456评论 0 0
  • 大家好: 我是彤小鱼,心里关于写作的种子一直在蓄势,今天终于化为执行力,破土了,处女之作,特别期待和大家分享两段真...
    彤小君阅读 4,822评论 0 3