ES6 Module学习

  1. 什么是模块
    局部作用域的代码块
  2. 什么是模块系统,解决了哪些主要问题
    2-1. 模块化的问题
    2-2. 消除全局变量
    2-3. 管理加载顺序
  3. ES6之前 常用的模块库 RequireJS, seaJS
  4. Module导入导出 js 文件
    js 模块 导出 export default XXX
    js 模块 导入 import XXX from YYYY
    js 模块 引入至html script标签内须注明 type="module"
    //01.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Module的基本用法</title>
    </head>
    <body>
        <script src="index.js" type="module"></script>
    </body>
    </html>
    
    //02.js
    import people from './people.js'
    console.log(people.a+1)
    
    //03.js
    class People{
        static a = 1
    }
    export default People
    
  5. 如果一个模块没有导出,也是可以被导入的。多次导入,仅会执行一边
  6. 一个模块只能有一个 export default
  7. 导入导出的另一种方式不用 export default
    export 与 import 的变量名必须相同
    export 声明或语句
     // 导入
     export age    //错
     export {age}  //对
     import age from 。。。
    
  8. 利用解析赋值{} 导入导出多个对象
  9. 导入导出可以起别名
  10. 整体导入 import * as obj from ‘./,’
  11. Moudule的注意事项
    11.1 模块顶层的this指向undefiend
    11.2 import 会提升至整个模块头部,率先执行。
    11.3 import和export 要放在模块顶层,不能放在代码块中
    11.4 import() 可以按条件导入(在if代码块中),不是ES标准,返回值是Promise类型
    11.5 导入导出的复合写法
    export {age} from './module.js'
    // 等价于
    import {age} from './module.js'
    export {age}
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值