标签: 前端工程化

12 个内容

笔记(12)

文章对比pnpm在Monorepo中的`-C`(基于物理路径切换目录)和`-F`(基于包名智能筛选)参数。**关键问题**:`-C`路径易变、无依赖感知;**方案**:优先用`-F`,支持拓扑构建(如`pkg...`)、批量通配符(如`apps/*`),更稳定智能。

Elliot Yang·
87 浏览

系统性能指标QPS/TPS衡量吞吐量与事务完整性,PV/UV评估流量,优化需关注前端埋码与用户识别。Web标准涉及渲染管线优化,SVG性能,Core Web Vitals如LCP/FID/CLS。网络协议TCP/QUIC影响性能,开发实践需规范代码评审,理解架构设计原则及术语,避免指标游戏,并善用工具提升技能。

Elliot Yang·
111 浏览

Webpack 5仍是主流构建工具,支持模块化、生态成熟、可扩展。优化包括:`output.clean`替代插件清理资源、TS类型声明优化、xxHash64算法提升哈希速度、魔法注释增强模块加载。还讨论了Loader/Plugin开发、浏览器环境处理、资源模块化、未来趋势(Rspack/Turbopack)、争议解决及企业级实践案例。

Elliot Yang·
183 浏览

pnpm 通过内容寻址存储和虚拟存储目录实现高效依赖管理,`pnpm prune --prod` 可优化生产环境依赖。全局存储通过硬链接节省空间,定期清理可释放磁盘。pnpm patch 用于修复和定制依赖。`.npmrc` 配置优化安装和存储,可进行依赖完整性验证和安全审计。未来趋势包括 Zstandard 压缩、多包仓库优化和签名验证。

Elliot Yang·
270 浏览

本文深入解析了在 Webpack 中实现类似 Vite 的 `module?url` 机制,通过 Asset Modules 和自定义 Loader 两种方案,解决资源 URL 精确控制的需求。探讨了工程化实践中的路径解析、缓存破坏、多环境适配,并针对 Web Worker 和 WASM 模块提出优化策略。同时,对性能、安全进行考量,并展望了未来 Webpack 生态和浏览器原生能力的发展方向。

Elliot Yang·
101 浏览

升级 Next.js 14.0.4 报错Edge Function体积超限,源于Webpack配置变更导致SSR:false组件分割失败。解决方案包括配置`esm: true`强制ESM、升级Next.js至14.1.0+。工程优化需关注代码分割、资源压缩、第三方库管理和构建配置。

Elliot Yang·
101 浏览

本文深入解析Webpack Loader开发,涵盖基础架构、高级功能(emitFile, callback)、Pitching Loader及工业级实践。强调测试、性能优化(缓存、并行、AST)、WASM加速及风险控制。案例包括国际化和CSS模块化。Loader正向智能编译中间件演进。

Elliot Yang·
84 浏览

本文讨论了 Tree-Shaking 与模块导入方式的影响。使用 `import * as api from 'api'` 整体导入模块时,若直接调用 `api.get1()` 不影响 Tree-Shaking;但若使用属性名表达式如 `api[get + '1']()`,则会导致 Tree-Shaking 失效。文章还提供了相关知识点和学习资料链接。

Elliot Yang·
107 浏览

`code-inspector-plugin` 是一款提升开发效率的工具,支持多种构建工具。它能通过点击页面DOM,自动打开IDE并定位到相应的源代码位置。

Elliot Yang·
120 浏览

本文介绍了 webpack 中自定义 loader 的方法。loader 本质是导出函数的 JavaScript 模块,用于转换资源文件。文章讲解了`this.emitFile`、`this.callback` 的使用,以及Pitching Loader 的概念,并说明如何在 loaders 之间共享 Data,最后提到了 loader 的测试方法。

Elliot Yang·
95 浏览

Webpack 默认不支持 Vite 的 `module?url` 语法,该语法用于获取模块的 URL。文章提出了两种解决方案:一是使用 `file-loader` 或 `asset/resource`;二是编写自定义 Webpack loader 处理特定请求,返回模块 URL。并提供了一个自定义 loader 的示例代码。

Elliot Yang·
92 浏览

本文是Webpack 5 指南,涵盖了Webpack dev server配置、`clean-webpack-plugin`替代方案、pnpm类型声明问题及解决方案。重点介绍了模板字符串,chunkFilename,loader和plugin编写方式和执行顺序,以及魔法注释的用法。针对浏览器环境Node.js `fs`模块依赖问题,提供了Webpack和Next.js的解决方案。还介绍了Asset Modules,包括`asset/resource`, `asset/inline`, `asset/source`和`asset`。

Elliot Yang·
108 浏览