Skip to content

ES6模块化的细节 ​

新版本的node也支持es6的模块化,由于目前还在实验阶段,所以我们不太会用es6模块化的知识,这里简单介绍一下

node的模块要么用commonjs,要么用ES6模块化,不能混杂使用

之所以不能混杂使用,是因为commonjs的模块是在一个函数环境里面运行的,而es6的模块化并不是这样,这二者存在诸多差异,并且为了兼容以前的老库,不敢弃用commonjs

ES的模块,文件后缀名必须为mjs,或者将其最近的package.json中设置type值为module

使用es6模块化之前,要先运行"node --experimental-modules",然后就可以使用ES6的模块化了

如果将ES6模块化和commonjs模块化混用,直接报错,在ES6的模块中不存在module对象

以笔记为镜,可以知得失