CommonJs介绍及跟ES6模块化的区别
Posted 老张在线敲代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CommonJs介绍及跟ES6模块化的区别相关的知识,希望对你有一定的参考价值。
CommonJs介绍
CommonJs模块化是node中的第三方的规范
CommonJS模块规范主要分为四部分:定义模块、暴露(导出)模块、引入模块,模块调用。
name.js
> // 定义模块
const name={
aname:"zybq",
sayname(){
console.log(this.aname)
}
}
const age={
age:100
}
//暴露模块
module.exports={
name,
age
}
app.js
// 模块引用
const {name,age}=require("./name")//引入自定义包
//模块调用
name.sayname()
console.log(age.age)
引入使用:
require("path")
导出模块使用:
exports.name 或 module.exports.name 或 module.exports={}
什么是模块化
模块化就是将变量和函数 放入不同的文件中
模块的作用域是私有的 内部定义的代码只能在当前文件中使用 外部使用那么需要将此模块暴露出去
模块化的好处
减少全局变量 避免变量名和函数命名冲突
提高代码的复用性和维护性
CommonJs模块化和ES6模块化的区别
CommonJS 模块总是在运行时加载
ES6 模块编译时执行
CommonJS 输出的是值的拷贝
ES6 模块输出的是值的引用,输出接口动态绑定
CommonJS 模块使用require()引入和module.exports导出
ES6 模块使用import引入和export导出。
commonjs 在使用模块的时候是运行时同步加载的 拷贝模块中的对象
ES6 模块的import命令是异步加载,有一个独立的模块依赖的解析阶段。
以上是关于CommonJs介绍及跟ES6模块化的区别的主要内容,如果未能解决你的问题,请参考以下文章