ES5模块规范
每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数他文件不可见。
1、创建“module”文件夹
、类,都是私有的,对其
2、导出模块
创建01.js创建js方法
//创建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、导入模块
创建02.js调用01.js
//调用01.js //引入模块,注意:当前路径必须写 ./ const m = require('./四则运算.js') console.log(m) const result1 = m.sum(1, 2) const result2 = m.subtract(1, 2) console.log(result1, result2)
4、运行程序
ES6模块化规范
因为ES6的模块化无法在Node.js中执行,需要用Babel编辑成ES5后再执行
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后再执行。
这里要
通过转换es5
就是有个命令叫babel es6 -d es622
3、运行程序
node es6模块化-dist/userComponent.js
ES6模块化的另一种写法
1、导出模块
创建 es6模块化/userApi2.js
export default { getList() { console.log('获取数据列表2') }, save() { console.log('保存数据2') } }
2、导入模块
创建 es6模块化/userComponent2.js
import user from "./userApi2.js" user.getList() user.save()