esbuild CLI核心命令速查表:新手必会的10个关键参数,从打包到压缩一网打尽
esbuild CLI核心命令速查表新手必会的10个关键参数从打包到压缩一网打尽【免费下载链接】esbuildAn extremely fast bundler for the web项目地址: https://gitcode.com/GitHub_Trending/es/esbuild本文是esbuild CLI核心命令的速查指南。esbuild 是一款极速的 Web 打包工具bundler本文精选 10 个最关键参数帮你从打包、压缩到监听、本地服务器快速上手新手建议先收藏再动手 esbuild CLI 10大关键参数一览表esbuild 的 CLI 用法很简单esbuild [参数] [入口文件]。下表是本文的地图看完再进细节#参数一句话说明新手优先级1--bundle把依赖全部打包进输出文件⭐⭐⭐2--outfile/--outdir指定输出文件 / 输出目录⭐⭐⭐3--minify一键压缩代码⭐⭐⭐4--format输出格式iife / cjs / esm⭐⭐⭐5--platform目标平台browser / node / neutral⭐⭐6--target目标环境版本自动降级语法⭐⭐7--sourcemap生成 sourcemap 方便调试⭐⭐8--external外部化依赖不打进包里⭐⭐9--watch监听模式改动自动重新构建⭐⭐⭐10--serve起本地 HTTP 开发服务器⭐⭐ 官方帮助文本里把参数分成了 Simple options 和 Advanced options 两档见 cmd/esbuild/main.go。1️⃣ --bundle打包的核心开关不加--bundle时esbuild 只处理单个文件类似 transform加上它才会递归解析 import 依赖并合并输出。esbuild app.js --bundle --outfiledist/app.jsesbuild 的打包分两个阶段扫描阶段 → 编译阶段这也是它快的原因之一依赖是如何被分析成图的esbuild 会追踪模块间的副作用边与符号边 打包流程的完整原理可参考 docs/architecture.md。2️⃣ --outfile / --outdir把结果写到哪里单个入口 → 用--outfiledist/app.js多个入口 → 用--outdirdist每个入口生成对应文件这是官方帮助里的第一条示例命令esbuild --bundle entry.js --outdirdist --minify --sourcemap3️⃣ --minify一键压缩体积立降--minify等价于同时打开三个开关--minify-whitespace去掉多余空白--minify-identifiers变量名缩短为a、b、c…--minify-syntax用更短的等价语法如typeof x ! undefined→x ! void 0压缩时 esbuild 的树摇tree shaking会自动剔除未被使用的代码下图中被标红的部分就是会被移除的死代码三个开关可以单独控制比如只想缩短变量名esbuild app.js --bundle --minify-identifiers --outfiledist/app.js4️⃣ --format输出模块格式值用途iife浏览器script标签直接引入打包到 browser 时默认cjsCommonJSNode.js 环境打包到 node 时默认esmES 模块现代前端首选也是--splitting代码分割的前提esbuild app.js --bundle --formatesm --outfiledist/app.mjs5️⃣ --platform告诉 esbuild 给谁用browser默认按浏览器规则解析main字段、注入浏览器运行时nodeNode.js 环境保留require、不注入浏览器补丁neutral两者都不假设最中立6️⃣ --target语法自动降级指定目标环境后esbuild 会把新语法降成对应环境能跑的旧写法如?.、??esbuild app.js --bundle --targetes2017 --outfiledist/app.js支持es2017、chrome58、firefox57、safari11、node10、ie9等写法可用逗号写多个目标取交集。7️⃣ --sourcemap线上也能调试加--sourcemap会额外输出一个.map文件浏览器 DevTools 里可直接看到压缩前的源码和行号。还有两种变体--sourcemapinline内联进文件和--sourcemapexternal生成但不加注释链接。8️⃣ --external把依赖排除在包外依赖很大又不想打进包里用--external:支持*通配符esbuild app.js --bundle --external:lodash --outfiledist/app.js更彻底的做法是--packagesexternal所有node_modules包全部外部化常用于打 Node.js 库。9️⃣ --watch开发时自动重新构建esbuild app.ts --bundle --watch文件一保存esbuild 立即增量重跑毫秒级。如果 stdin 关闭时要保持监听用--watchforever想延迟重建可加--watch-delay100。 --serve本地开发服务器esbuild app.ts --bundle --servedirwww --outdirwww/js --servelocalhost:8000输出文件变化时自动重新构建并响应请求配合--serve-fallbackindex.html可做单页应用回退省去额外安装 dev-server。 进阶加分项参数作用例子--define:KV编译期常量替换--define:RELEASEtrue--loader:XL给指定扩展名换 loader--loader:.jsjsx--splitting代码分割公共代码抽成共享 chunk仅 esm见下图--tree-shaking...强制开/关树摇--tree-shakingfalse--drop:console删除 console / debugger 语句--drop:console --drop:debugger--analyze输出打包体积分析报告--analyzeverbose--keep-names保留函数/类的name属性—--version打印当前版本—打开--splitting后esbuild 会把被多个入口共同依赖的代码抽成共享 chunk按入口各自成包 三组高频组合命令# 生产构建打包 压缩 sourcemap esbuild entry.js --bundle --minify --sourcemap --outdirdist # 开发构建TypeScript 入口 监听 本地服务器 esbuild app.ts --bundle --watch --servelocalhost:8000 # 打 Node 库ESM 输出 全部依赖外部化 esbuild index.ts --bundle --formatesm --packagesexternal --outdirdist 想查完整参数看这两个源码位置完整 help 文本Simple / Advanced 两档 官方示例cmd/esbuild/main.go参数解析实现每个--参数如何映射到内部选项pkg/cli/cli_impl.goCLI 入口 APIRun/ParseBuildOptionspkg/cli/cli.go✅总结记住一句话——--bundle打包、--minify压缩、--sourcemap调试、--watch开发、--serve起服务。把这 5 个串起来你就能覆盖 90% 的日常场景剩下 5 个参数按需补上即可。【免费下载链接】esbuildAn extremely fast bundler for the web项目地址: https://gitcode.com/GitHub_Trending/es/esbuild创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

从Claude Design笔记本动画看数字交互的物理质感与体感设计

从Claude Design笔记本动画看数字交互的物理质感与体感设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/7 20:32:21 阅读更多 →
空调选购指南:新一级能效与变频技术如何实现省电与舒适

空调选购指南:新一级能效与变频技术如何实现省电与舒适

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/7 20:32:21 阅读更多 →
FastGPT 企业微信机器人接入:15分钟把知识库问答搬进企业微信

FastGPT 企业微信机器人接入:15分钟把知识库问答搬进企业微信

FastGPT 企业微信机器人接入:15分钟把知识库问答搬进企业微信 【免费下载链接】FastGPT FastGPT is a knowledge-based platform built on the LLMs, offers a comprehensive suite of out-of-the-box capabilities such as data processing, RAG retrieval, and vi…

2026/11/1 20:29:54 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/6 15:21:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/7 12:08:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/6 22:01:11 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/6 22:01:11 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/7 12:08:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/6 22:01:09 阅读更多 →

日新闻

周新闻

月新闻