CommonJS使用 exports 和require 来导出、导入模块。
ES6使用 export 和 import 来导出、导入模块。
一、CommonJS模块规范
1、创建文件夹任意名字
2、创建js文件导出
const sum = function(a,b){
return parseInt(a) + parseInt(b)
}
const subtract = function(a,b){
return parseInt(a) - parseInt(b)
}
const multiply = function(a,b){
return parseInt(a) * parseInt(b)
}
const divide = function(a,b){
return parseInt(a) / parseInt(b)
}
/*// 导出成员:
module.exports = {
sum: sum,
subtract: subtract,
multiply: multiply,
divide: divide
}*/
//简写
module.exports = {
sum,
subtract,
multiply,
divide
}
3、创建导入js
#创建 common-import模块化/引入模块.js
//引入模块,注意:当前路径必须写 ./
const m = require('./四则运算.js')
console.log(m)
const result1 = m.sum(1, 2)
const result2 = m.subtract(1, 2)
console.log(result1, result2)
#node common-import.js 测试
二、ES6模块化
1、导出模块
#创建es6模块化/userApi.js
export function getList() {
console.log('获取数据列表')
}
export function save() {
console.log('保存数据')
}
2、导入模块
#创建es6模块化/userComponent.js
//只取需要的方法即可,多个方法用逗号分隔
import { getList, save } from "./userApi.js"
getList()
save()
注意:这时的程序无法运行的,因为ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行。
第二种es6写法
1、导出模块
export default {
getList() {
console.log('获取数据列表2')
},
save() {
console.log('保存数据2')
}
}
2、导入模块
import user from "./userApi2.js"
user.getList()
user.save()