前端工程化 · 高级 01
关于 webpack 5 开发环境中的自动刷新与模块热更新,下列哪些说法正确?(多选)
页面已接入开发服务器的 HMR 客户端,某个模块发生修改。
前端工程化高级题库第 1 组,共 12 张卡片。
前端工程化 · 高级 01
页面已接入开发服务器的 HMR 客户端,某个模块发生修改。
HMR 的核心是重新编译变化部分、向客户端通知新构建,并让运行时取得更新信息和更新模块。
sideEffects: false 主要允许 Webpack 在某个模块的导出完全未被使用时跳过整个模块,并不授权删除一个仍被引用模块中的任意顶层副作用。
done 钩子表示编译过程已经完成并生成 Stats,它在 compiler.run 的最终回调交付结果之前触发,因此先打印 done,随后调用 run…
旧页面内存中的 webpack 运行时保存着旧版本 chunk 文件名映射。
webpack 插件应根据所需生命周期选择 compiler 或 compilation hook,并遵守对应 Tapable Hook 的同步或异步契约。
持久化缓存是否安全取决于缓存键能否覆盖所有会影响编译结果的输入。
Loader 的 pitch 阶段按照 use 数组从左到右执行,普通阶段则从右到左执行。
sideEffects: false 是包级承诺,表示模块在未使用其导出时可以安全删除。
Promise 与 Array.prototype.includes 属于可以通过 JavaScript 实现并安装到全局或原型上的能力,应用入口可依据…
HMR 不仅需要服务器生成并推送更新,还要求模块图中存在能够接受更新的边界。
sideEffects:false 是包作者向构建工具提供的可消除性承诺,并不是 webpack 对每个模块执行动态副作用分析后的结论。
跨联邦边界传递 React Context 或依赖 Hooks 运行时一致性时,通常应让 React 成为共享单例,并明确可接受的版本范围。