ES5和ES6模块化编程

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()

猜你喜欢

转载自blog.csdn.net/he1234555/article/details/115006570