CommonJS是在推行Node.js时建立的一个模块化的规范制度,他的模块就指对象,输入时必须查找对象的属性,就像用Node.js书写代码一样:
let {stat , exists , readFile } = require('fs');//这条语句的实质是先整体加载fs模块,然后在使用时用到3个方法,被称为“运行时加载”。
ES6模块不是对象,而是通过export命令显式指定输出代码,输入时采用静态命令的形式:
Iimport {stat , exists , readFile } from 'fs';//这条语句实质是只加载fs模块的3个方法,被称为“编译时加载”;
1.export
export命令用于规定模块的对外接口,import命令用于输入其他模块的功能;export命令可以出现在模块的任何位置,只要不处于快级作用域内就好。
export * from "....." //代表输出文件地址所指文件内所有的属性和方法,但不包括默认方法
2.import
通过import来加载输出的模块。
import接收一个对像,里面指定变量名必须与被导入的对外接口名称相同;
整体加载:import * as circle from './circle';circle.area();circle.x();
3.module
module用来达到整体输入模块的作用;
module circle from './circle';
4.export default
export default function(){.........}
import circle(任意起的函数名) from “...”
export default function circle(){...................}
import circle from "............"
5.模块之间的继承
6.ES6模块加载的实质
common.js输出的是值的拷贝,而ES6输出的是值的引用
网友评论