无论是 require 还是 Webpack 在这个核心命题上并没有区别, 即前端模块遵循
加载 → 调用 → 执行 这样的一个逻辑关系....因为模块必须先加载才能调用并执行, 模块加载器和构建工具就必须管理和分析应用中所有模块的依赖关系, 从而确定哪些模块可以拆分哪些可以合并, 以及模块的加载顺序....为此我们尝试提出了一种新的思路
模块为什么不能先调用, 后加载执行呢?...如果 A 模块调用 B 模块, 但并不需要 B 模块立即就绪, 这就意味着, 模块加载器可以不关心模块的依赖关系, 而致力于只解决模块加载的效率和性能问题....但如果模块可以先调用后加载, 那么这个复杂的过程就可以完全避免.