美文网首页
webpack文档——学习笔记(二)

webpack文档——学习笔记(二)

作者: kayleeWei | 来源:发表于2018-09-22 16:16 被阅读0次

    模块解析 Module resolution

    • resolver 是一个库(library),用于帮助找到模块的绝对路径。一个模块可以作为另一个模块的依赖模块,然后被后者引用,resolver 帮助 webpack 找到 bundle 中需要引入的模块代码,这些代码在包含在每个 require/import 语句中。如下:
    import foo from 'path/to/module'
    // 或者
    require('path/to/module')
    
    • webpack可以解析三种文件路径
    1. 绝对路径
    import '/home/me/file';
    
    import 'C:\\Users\\me\\file';
    
    1. 相对路径
    import "../src/file1";
    import "./file2";
    
    1. 模块路径
    import "module";
    import "module/lib/file";
    

    依赖图 Dependency graph

    webpack 可以接收非代码资源(non-code asset)(例如图像或 web 字体)作为依赖提供给app。从入口起点(命令行或配置文件中定义的一个模块列表)开始,webpack 递归地构建一个依赖图,这个依赖图包含着应用程序所需的每个模块,然后将所有这些模块打包为bundle - 通常只有一个 - 可由浏览器加载。


    Runtime

    主要是指:在浏览器运行时,webpack 用来连接模块化的应用程序的所有代码。
    runtime 包含:在模块交互时,连接模块所需的加载和解析逻辑。
    包括浏览器中的已加载模块的连接,以及懒加载模块的执行逻辑。


    Manifest

    当编译器(compiler)开始执行、解析和映射应用程序时,它会保留所有模块的详细要点。这个数据集合称为 "Manifest",当完成打包并发送到浏览器时,会在运行时通过 Manifest 来解析和加载模块。

    无论你选择哪种模块语法,那些 importrequire 语句现在都已经转换为 __webpack_require__ 方法,此方法指向模块标识符(module identifier)。

    通过使用 manifest 中的数据,runtime 将能够查询模块标识符,检索出背后对应的模块。

    相关文章

      网友评论

          本文标题:webpack文档——学习笔记(二)

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