前端的模块化操作

概述

  在后端中,可以将 controller、service、mapper 之间的调用看做是后端的模块化操作。而前端,也已经不再是以前的前端了,那么前端的模块化操作是什么呢?就是js与js之间的调用。

ES5的模块化操作

创建一个 01.js

// 定义两个方法
const add = function(a, b){
    return a + b;
}

const sub = function(a, b) {
    return a - b;
}

// es5 使用 module.exports = {} 来导出方法
module.exports = {
    add,
    sub
}

创建一个 02.js

// es5 使用 require 来引入其他 js 
const m = require('./01.js')

// 通过  m
console.log(m.add(1, 2));
console.log(m.sub(5, 1))

最后通过 node 02.js 进行调用
在这里插入图片描述

ES6的模块化操作

方式一:

创建一个 01.js

// 定义两个方法
// ES6 可以在方法前直接使用
export function print(str) {
    console.log(str);
}

export function say() {
    console.log('Hello Moto');
}

创建一个 02.js

// ES6 使用 import 来引入其他 js 
import {print,say} from './01.js';

print('Hello World!'); // 调用方法

say();

此时再去执行 node 02.js,发现报错。
在这里插入图片描述
node.js 环境中无法进行 es6 的模块化操作。上述报错也作证了这个结论。 所以我们需要将ES6代码转换成ES5代码,再去执行。

使用 babel 进行转码
在这里插入图片描述
执行代码:
在这里插入图片描述

方式二:

方式二是 ES6 模块化的简化操作,代码更加直接明了。

03.js

// 使用 export default{} 来定义方法,这里面方法不用写function
export default{
    add(a, b){
        return a + b;
    },
    print(str) {
        console.log(log);
    }
}

04.js

// es6 使用 import 来引入其他 js 
// 相当于给 js 文件创建一个对象m,想要调用就可以使用 m.方法() 进行调用
import m from './01.js';

m.add(1,2);

m.print('Hello World!');

babel转码后执行
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值