美文网首页
模块化进程

模块化进程

作者: 芗芗_ | 来源:发表于2021-03-15 17:44 被阅读0次

webpack 模块化加载文件解析


 // 加载器runtime
  (function (modules: Array<Function>) {
    interface moduleType {
      exports:any,
      isLoad:Boolean,
      id:string
    }
    const installModules : {[key: string]: moduleType} = {};
    // 加载器
    const _webpack_require_ = function (moduleId:string) {
      // 已经加载直接返回
      if (installModules[moduleId]) {
        return installModules[moduleId].exports
      }
      // 初始化
      const module = installModules[moduleId] = {
        exports: {},
        isLoad: false,
        id: moduleId
      }
      // 加载文件
      modules[moduleId].call(module.exports, module, module.exports, _webpack_require_)
      module.isLoad = true
      
      //返回导出的对象
      return module.exports
    }

    // 加载唯一一个入口文件
    return _webpack_require_(0)
  }([
    // 依赖数组
    // 0
    function (module, exports, _webpack_require_) {
      const dependList = [_webpack_require_(1)]
      const result = (function (dependResult) {
        dependResult.aaa = 1
      }).call(exports, dependList)

      module.exports = result
    },
    // 1
    function () {

    }
  ]))
模块化的进程
  1. 原始模式,加载器选择通过<script>标签加载,然后通过各种hack判断是否加载完成。
  2. AMD => define({},function(dependList){}) // 依赖前置加载
  3. 引入服务端commonjs规范 => CMD => require() // 依赖就近加载
    3)通用加载定义 Umd 兼容AMDHE CMD 优先AMD 其次CMD 最后挂在window上

js模块化是针对原始的script必须严格按照加载顺序加载,且在使用阶段的js必须在最后加载的一种解决方案

相关文章

  • 模块化进程

    webpack 模块化加载文件解析 模块化的进程 原始模式,加载器选择通过 标签加载,然后通过各种hack判断是否...

  • nginx详解-1

    nginx的特性: 1、模块化设计、较好的扩展性;2、高可靠性;master进程/worker进程;3、支持热部署...

  • Android 进程相关——学习笔记

    一:多进程的作用 1:多进程主要用于实现应用的多模块化,使一个应用分解为多个子项模块,方便控制与使用。2:多进程还...

  • Linux主要特性

    Linux教程 Linux主要特性 Linux优点 模块化程度高 Linux的内核设计非常精巧,分成进程调度、内存...

  • 第6题- module.exports、exports、expo

    面试题目: module.exports、exports、export 三者的区别是什么? 答案解析: 模块化进程...

  • android组件化开发资料

    1、Android组件化开发实践 2、Android架构思考(模块化、多进程) 3、糯米移动组件架构演进之路 4、...

  • Android架构思考(模块化、多进程)

    第169期:Android架构思考(模块化、多进程) 深度讨论 炸了,华为高层要求清理 34 岁以上的员工了 先发...

  • Connman 网络管理 快速入手指南

    描述 Connman是管理嵌入式设备联网的守护进程,集成了大量的通信功能. Connman是一个完全模块化的系统,...

  • webpack解惑

    1、webpack的模块化原理webpack 本身维护了一套模块系统,这套模块系统兼容了所有前端历史进程下的模块规...

  • 【鹏凯环境】城市合伙人计划:让我们做点有意义的事情

    ◆ 一种全新的环保建设模式 鹏凯圆-模块化(装配式)污水厂 随着城市化进程的不断加快,城市人口的不断...

网友评论

      本文标题:模块化进程

      本文链接:https://www.haomeiwen.com/subject/jhzkcltx.html