前端技术模块化概念说明及模块化的es5写法和模块化的es6写法

一. 什么是模块化

  1. 开发后端的接口的时候,开发controller,service,mapper,controller注入service,service注入mapper,在后端中,类与类之间的调用成为后端模块化操作
  2. 在前端模块化中,就是js与js之间调用成为前模块化操作.

模拟前端模块化的过程:
es5实现模块化操作
首先在vscode中建一个文件夹叫moduledemo
在这里插入图片描述然后进行初始化.
npm init -y
在这里插入图片描述然后在moduledemo中新建一个文件夹叫做es5module,在该文件夹里面我们写一个叫01.js和一个叫02.js的文件.这样我们可以在01.js中创建一个方法,然后我们在02.js里面调用01.js里面的方法
在这里插入图片描述
01.js

//1 创建js方法
const sum = function(a,b){
    return parseInt(a) + parseInt(b)
}
const subtract = function(a,b){
    return parseInt(a) - parseInt(b)
}

//2 设置哪些方法可以被其他js调用
module.exports = {
    sum,
    subtract
}

注意设置module.exports.将方法暴露出来
然后在02.js中调用

//调用01.js里面的方法
//1 引入01.js文件
const m = require('./01.js')

//2 调用
console.log(m.sum(1,2))
console.log(m.subtract(10,3))

注意关键字required,还有路径

最后测试一下:
在这里插入图片描述这样就调取成功了.

下面我们在测试一个es6的模块化测试:
但是我们需要注意一点:
es6写出来的程序是无法运行的,因为es6的模块化无法在node.hs中执行,这需要babel编辑成es5再进行执行,才可以在node.js进行运行.

es6模块化就有两种写法
第一种写法:
在这里插入图片描述
01.js:

//定义方法,设置哪些方法可以被其他js调用
export function getList() {
    console.log('getList............')
}

export function save() {
    console.log('save............')
}

02.js:

//调用01.js的方法,引入01.js文件,进行调用
import {getList,save} from './01.js'

//调用方法
getList()
save()

这个时候我们先用nodejs去编译
在这里插入图片描述报错了,nodejs并不认识这个import.所以说node不支持es6写法,所以我们可以用babel转换.

这个时候我们可以再新建一个文件夹
在这里插入图片描述
这个时候我们把6-1的文件转格式存到es6-2中.
在这里插入图片描述然后再通过node执行
在这里插入图片描述这样就可以了.
第二种写法(更简洁)
01.js:

//定义方法,设置哪些方法可以被其他js调用
//第二种方法的简化
export default{
    getList(){
        console.log("getList.....")
    },
    update(){
        console.log("update.....")
    }
}

02.js

//调用01.js的方法,引入01.js文件,进行调用
import m from './01.js'

//调用方法
m.getList()
m.update()

然后我们再通过转换做测试:
在这里插入图片描述在这里插入图片描述在这里插入图片描述转换成功!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值