目录
方法二:在package.json文件中,指定type字段为module
JavaScript 有两种模块化规范:
- CommonJS模块化规范——使用require()导入模块,module.exports导出模块
- ES6模块化规范——使用import导入模块,export 导出模块
两种模块化规范不兼容!(两种语法不能在同一个文件中使用,除非用babel转义)
CommonJS模块化规范
方式一【适用于模块只对外输出一个方法】
导出模块
导入模块
require的加载过程图解
方式二【适用于模块对外输出多个方法】
导出模块
导入模块
ES6模块化规范
导出模块
导入模块
node.js支持ES6模块化规范的方法
nodejs 默认使用CommonJS模块化规范,若想使用ES6模块化规范,有以下方法:
方法一:将文件后缀名修改为.mjs
node.js对.mjs
文件总是使用 ES6 模块化规范,运行文件时,使用 node test.mjs
方法二:在
package.json
文件中,指定type
字段为module
若项目中没有package.json
文件,则在项目文件夹下新建package.json文件
使用此方法后,所有CommonJS模块化规范的js文件的后缀名需改为.cjs
方法三:安装babel
使用babel将js文件编译成node.js支持的commonjs格式的代码。
安装依赖
项目目录下新建babel的配置文件 .babelrc
在项目启动文件中,引入babel
完整范例代码
目录结构
index.js
print.js
a.js
运行index.js