新闻详情

新闻详情

首页 / 资讯中心 / 详情

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

发布时间:2026/11/3 17:35:35来源:尧图网络
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),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/3 7:07:39

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/3 12:09:35

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/3 12:09:38

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/4 12:33:12

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/4 1:25:31

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/4 3:51:11

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉