模块化开发的学习

本文学习内容的概要:

  1. 模块化演变过程
  2. 模块化规范
  3. 常用的模块化打包工具
  4. 基于模块化工具构建现代web应用
  5. 打包工具的优化技巧

模块化演变过程
早期在没有工具和规范的情况下对模块化的落地方式:

stage1-文件划分方式:污染全局作用域,命名冲突问题,无法管理模块依赖关系,早期模块化完全依靠约定
stage2-命名空间方式:虽然解决了命名冲突但是其他问题没解决
stage3-IIFE(立即执行函数的方法):实现了私有成员的概念

模块化规范的出现
模块化标准+模块加载器
Commonjs规范(nodejs提出的一套标准)

  1. 一个文件就是一个模块
  2. 每个模块都有单独的作用域
  3. 通过module.exports导出成员
  4. 通过require函数载入模块
    CommonJS是以同步模式加载模块

模块化标准规范
在nodejs中遵循CommonJS规范
在浏览器中遵循ES Modules规范

ES Modules特性
通过给script 添加 type = module的属性,就可以以ES Module的标准执行其中的JS代码

  1. ESM自动采用严格模式,忽略’use strict’
  2. 每个ES Module都是运行在单独的私有作用域中
  3. ESM是通过CORS的方式请示外部JS模块的
  4. ESM的script标签会延迟执行脚本(等页面都加载完了再去运行脚本)

ES Modules导出
在这里插入图片描述
ES Modules导入用法
动态加载模块在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值