ES6模块化基础 使用

本文详细介绍了模块化的概念及其在解决复杂问题中的作用,强调了模块化带来的命名空间管理、代码复用、维护性和规范遵循等优势。重点探讨了ES6的模块化规范,包括默认导出与按需导出的语法,并提供了实际示例。同时,指出了在使用过程中的注意事项,如每个模块只能有一个默认导出等。
摘要由CSDN通过智能技术生成
  • 模块化是指解决一个复杂的大的问题时通过一定的规范(规则),划分成多个模块封装的过程.

  • 对于整个文件来说.模块是可组合,分解更换的单元.

模块化有什么好处

  • 避免命名冲突(减少命名空间污染)

  • 更好的分离, 按需加载

  • 更高复用性

  • 高可维护性

  • 遵守规范,降低沟通成本,方便各个模块的互相调用.

ES6模块化规范

ES6模块化规范是浏览器与服务器端通用的开发规范

ES6模块化规范定义:

  • 每个js 文件都是一个独立的模块

  • 导入需要使用 import 关键字

  • 对外共享是用 export 关键字

通过npm init -y 在 package.json 中第一条配置 "type":"module", 可以体验ES6模块化

默认导出 , 导入

export default  默认导出的成员

//.当前模块01.js
let n1 = 10 
let n2 = 20
function show(){}
export default {  //挂载你想共享的成员
    n1,
    show
}

import m1 from 默认导入的成员

//当前模块02.js
import m1 from './01.js'
console.log(m1)
导入时接收的名字可以任何名称(m1),只要合法的成员名称即可.
数字开头的名称就是不合法的,声明变量和常量都不可以设置数字开头的名字

注意:

每个模块中,只允许使用唯一的一次 export default.否则会报错.

错误示范:
let n1 = 10 
let n2 = 20
function show(){}
export default {  //挂载你想共享的成员
    n1,
    show
}
 export default {
     n2
 }
 //因为使用了两次导出.所以报错.

按需导出 , 按需导入

按需导出的语法: export 按需导出的成员

//当前模块 03.js
​
//向外按需导出变量 s1
export let s1 = 'aaa'
//向外按需导出变量 s2
export let s2 = 'bbb'
//向外按需导出方法  say
export function say() {}

按需导入的语法 :import{s1} from''模块标识符''

// 当前模块 04.js
import {s1 ,s2 ,say} from './03.js'
console.log(s1) //aaa
console.log(s2) //bbb
console.log(say) // function : say方法

按需导出和按需导入的注意:

  • 每个模块可以使用多次按需导出

  • 按需导入的成员名称必须和按需导出的名称保持一致对应

  • 按需导入时,可以使用as 关键字进行重命名

  • 按需导入可以和默认导入一起使用

//向外按需导出变量 s1
export let s1 = 'aaa'
//向外按需导出变量 s2
export let s2 = 'bbb'
//向外按需导出方法  say
​
export default {
    a:20
}
​
export function say() {}
import {s1 ,s2 as s3 ,say} from './03.js'//as关键字重命名
export default{}只能一次  , 按需导入可以多次
import info,{s1 ,s2 as s3 ,say} from './03.js'//默认导入一个成员叫info  info 指向 默认导入

直接导入并执行模块中的代码

//当前  05.js模块
//当前模块是一个for 循环
for (let i = 0 ;i < 3 ; i++){
    console.log(i)
}
//当前  06.js 模块
//直接导入并执行模块中的代码   不需要得到模块向外共享的成员
import './05.js'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值