tsup零配置魔法揭秘为什么一行命令就能打包你的TypeScript库【免费下载链接】tsupThe simplest and fastest way to bundle your TypeScript libraries.项目地址: https://gitcode.com/gh_mirrors/ts/tsuptsup是一个由 esbuild 驱动的 TypeScript 库打包工具号称最简单、最快速的库构建方案——安装后只需一行tsup src/index.ts无需任何配置文件就能同时产出 ESM、CJS 两种格式、并自动生成类型声明。本文为你揭秘它零配置背后的默认值设计与依赖外置策略。30秒上手一行命令发生了什么安装后直接运行npm i tsup -D tsup src/index.ts此时 tsup 已经悄悄替你做了这些决定决策项默认行为源码位置输出目录dist/src/index.ts打包格式esmcjs双格式src/utils.ts编译目标node16src/options.ts目标平台nodesrc/options.ts代码分割ESM 默认开启、CJS 默认关闭src/options.ts也就是说零配置不是魔法而是一整套经过深思熟虑的默认值。依赖外置tsup 最关键的默认策略打一个 npm 库时你肯定不希望把package.json里声明的依赖打进产物——用户安装时会重复安装还可能引发依赖副本冲突。tsup 的解法是自动外置dependencies和peerDependencies中的包一律不打包保持为import语句。外置/打包的判定逻辑在 src/esbuild/external.ts 中实现优先级如下结合图示判定顺序为命中noExternal强制打包名单→ 打包例如 monorepo 里的本地包未命中 → 查external强制外置名单→ 命中则外置都没命中 → 默认策略生效package.json的dependencies/peerDependencies自动外置。还有一个更省心的快捷方式tsup-node命令会自动跳过所有 Node.js 包的打包适合构建 Node 应用而非库的场景详见 src/cli-node.ts。配置文件从零到全的自由度零配置只是起点。当你想自定义时tsup 支持这几种配置方式优先级从高到低见 docs/README.mdtsup.config.ts/tsup.config.js/tsup.config.cjs/tsup.config.jsonpackage.json中的tsup字段仓库本身就是自己的使用示例可参考 tsup.config.ts。所有可选参数entry、dts、minify、treeshake等 40 余项的类型定义在 src/options.ts而 JSON 配置的用户还能通过 schema.json 在编辑器中获得自动补全与校验。一个常见的进阶组合tsup src/index.ts --dts --sourcemap--dts额外生成index.d.ts类型声明--sourcemap生成.map调试文件——依然是命令行搞定无需碰配置文件。幕后功臣为什么这么快tsup 的快来自两层设计底层 esbuild核心解析与打包由 Rust 编写的 esbuild按需叠加 Rollup仅当你开启treeshake等选项时才会在 esbuild 之后追加 Rollup 做二次树摇进一步压缩体积而不是让 Rollup 全程参与。此外src/plugins/ 目录下的各个小插件各司其职cjs-interop.ts处理 ESM/CJS 互操作、tree-shaking.ts做二次树摇、terser.ts负责深度压缩、size-reporter.ts输出产物体积报告。总结零配置的正确打开方式零配置 ≠ 没配置而是默认值覆盖了 90% 场景dist输出、esmcjs双格式、依赖自动外置依赖外置规则遵循noExternal external package.json 依赖的优先级src/esbuild/external.ts 是其核心实现需要微调时优先用 CLI 参数再考虑 tsup.config.ts 配置文件追求极致体积时可叠加--treeshake与minify: terser。理解这些默认值之后你就能把 tsup 当作懂 TypeScript 库发布惯例的打包器放心使用了。【免费下载链接】tsupThe simplest and fastest way to bundle your TypeScript libraries.项目地址: https://gitcode.com/gh_mirrors/ts/tsup创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
5步拆解空调原理图避坑指南:从入门到精通的底层逻辑 5步拆解空调原理图避坑指南:从入门到精通的底层逻辑 官方文档往往长达上百页,公式堆砌让人头大,核心逻辑却藏在字缝里。很多初学者对着复杂的制冷循环图发呆,根本抓不住重点。其实,想真正搞懂空调原理图,从入门到精通,不需要死记硬背每一个系数,而是… · 2026/9/22 18:38:43
影驰1060图解原理:3招解决代码跑不通难题 影驰1060图解原理:3招解决代码跑不通难题 刚拿到影驰1060显卡,准备跑个移动端渲染项目,结果复制来的代码直接报错,心里是不是特别慌?别急,这种“代码看着对,一跑就崩”的情况,90%的新手都踩过坑。今天不聊虚的,直接上干货,用… · 2026/9/22 18:38:11
图解原理拆解年薪十万后端项目架构 图解原理拆解年薪十万后端项目架构 刚把 Python 语法书翻烂,看着 if-else 和 for 循环都觉得亲切,真让你动手搭个能上线的项目,脑子瞬间一片空白?别慌,这种“会写代码不会做工程”的断层,90% 的新手都踩过。… · 2026/9/22 19:23:15
2026最新避坑指南:解决图片过大无法添加的3个核心方案 2026最新避坑指南:解决图片过大无法添加的3个核心方案 版本升级后 API 全变了,这大概是 2026 年开发者最不想听到的话。尤其是处理静态资源时,前端框架一更新,原本好用的上传逻辑直接报“图片过大无法添加”,后端接口也同步调整,导致大… · 2026/9/22 19:23:09
鼎信诺官网实操避坑:3步搞定环境,面试必问底层逻辑 鼎信诺官网实操避坑:3步搞定环境,面试必问底层逻辑 配置环境就卡半天,这是无数转岗开发者的噩梦。 打开浏览器,搜索“鼎信诺官网”,准备下载最新的开发环境或者查询证书状态。… · 2026/9/22 19:22:30
三次产业考证新手避坑:学历年限与补办流程全解 三次产业考证新手避坑:学历年限与补办流程全解 刚拿到“三次产业”相关证书,准备跳槽或投标时,发现系统里查不到信息,或者因为学历年限不符被卡在审核环节,这种崩溃感谁懂?很多从业者一上来就以为考过就万事大吉,结果在 版本升级后 API 全变了… · 2026/9/22 19:22:23
搞定个人所得税查询:3个源码解析技巧解决项目搭建难题 搞定个人所得税查询:3个源码解析技巧解决项目搭建难题 很多后端同事卡在个税查询接口上,不是语法不会,而是不知道如何从业务逻辑切入代码。我见过太多项目,文档写得清清楚楚,代码一打开就懵圈。今天拆解个税查询核心源码,帮你从混乱中理清思路。… · 2026/9/22 19:22:17
se95se实战项目避坑:5分钟搞定环境配置 se95se实战项目避坑:5分钟搞定环境配置 配置环境就卡半天,是不是你的常态?我见过太多开发者,在 se95se 的入门阶段,因为依赖版本冲突或路径错误,浪费整整一个下午。更扎心的是,当你终于跑通 Hello World,面对一个真实的… · 2026/9/22 19:22:04
5个电影海报图片处理坑,新手避坑指南 5个电影海报图片处理坑,新手避坑指南 刚写完代码,一运行屏幕直接炸了。满屏红色的 StackTrace 滚得比弹幕还快,什么 NullPointerException 、 ImageIO.read() returned null 、… · 2026/9/22 0:00:07
注册微信公众账号:一文搞懂从0到1全流程 注册微信公众账号:一文搞懂从0到1全流程 复制来的代码跑不通,报错信息满屏飞,到底卡在哪?别急,咱们先停下手里的调试。很多开发者觉得注册微信公众账号只是填个表单、传个身份证那么简单,真上手才发现坑深不见底。今天这篇 一文搞懂… · 2026/9/22 0:00:07