tsup零配置魔法揭秘:为什么一行命令就能打包你的TypeScript库

发布时间:2026/9/22 18:39:01
tsup零配置魔法揭秘:为什么一行命令就能打包你的TypeScript库 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),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询