基于tsup打包TypeScript實(shí)現(xiàn)過程
什么是tsup
Tsup 可以快速打包 typescript 庫,無需任何配置,并且基于esbuild進(jìn)行打包,打包 ts 文件速度毫秒級,方便又高效。
?? Install
在項(xiàng)目文件夾中本地安裝它。官網(wǎng)傳送門
npm i tsup -D # Or Yarn yarn add tsup --dev
Tsup也可以全局安裝,但不建議這樣做。
快速上手
tsup默認(rèn)支持無配置打包,我們嘗試一下。
- 步驟 1: 創(chuàng)建并進(jìn)入一個目錄
mkdir tsup-study && cd tsup-study
- 步驟 2: 創(chuàng)建
package.json并且安裝 tsup
# 生成 package.json npm init -y # 安裝tsup npm i tsup -D
- 步驟 3: 根目錄創(chuàng)建
src文件夾,并且創(chuàng)建index.ts
function print(value: any) {
console.log(value);
}
export default{
print
}
- 步驟 4: 修改
package.json
{
"scripts": {
"dev": "tsup src/index.ts"
},
}
- 步驟 5: 執(zhí)行
npm run dev

- 步驟 6: tsup支持一次性打包多個文件

配置文件
tsup目前支持以下幾種配置文件類型

打包構(gòu)建
- 步驟 1: 修改
package.json文件
"scripts": {
"build": "tsup"
}
- 步驟 2: 根目錄新建
tsup.config.ts文件,配置如下
import { defineConfig } from 'tsup'
export default defineConfig({
// 入口文件 或者可以使用 entryPoints 底層是 esbuild
entry: ['src/index.ts'],
// 打包類型 支持以下幾種 'cjs' | 'esm' | 'iife'
format: ["cjs", "esm"],
// 生成類型文件 xxx.d.ts
dts: false,
// 代碼分割 默認(rèn)esm模式支持 如果cjs需要代碼分割的話就需要配置為 true
splitting: false,
// sourcemap
sourcemap: false,
// 每次打包先刪除dist
clean: true,
});
- 步驟 3: 執(zhí)行
npm run build會生成打包文件

小彩蛋 安裝失敗~
如果安裝時報(bào)的錯誤和我是一致的話,就需要以下操作進(jìn)行處理,失敗的原因是tsup內(nèi)集成了esbuild,它是由 Go開發(fā)的,而在mac電腦上 默認(rèn)的版本需要大于10.12.6的版本

package.json文件中做以下修改
{
"devDependencies": {
"esbuild-wasm": "latest",// 第1 添加這一行代碼
"tsup": "^6.5.0"
},
"overrides": { // 第二行 添加這個
"esbuild": "npm:esbuild-wasm@latest"
}
}以上就是基于tsup打包TypeScript實(shí)現(xiàn)過程的詳細(xì)內(nèi)容,更多關(guān)于tsup打包TypeScript的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
TypeScript開發(fā)HapiJS應(yīng)用詳解
這篇文章主要為大家介紹了TypeScript開發(fā)HapiJS應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
高級前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree
這篇文章主要為大家介紹了高級前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
TypeScript實(shí)現(xiàn)類型安全的EventEmitter
這篇文章主要為大家介紹了TypeScript實(shí)現(xiàn)類型安全的EventEmitter示例詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
數(shù)據(jù)結(jié)構(gòu)Typescript之哈希表實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了數(shù)據(jù)結(jié)構(gòu)Typescript之哈希表實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
TypeScript使用strictnullcheck實(shí)戰(zhàn)解析
這篇文章主要為大家介紹了TypeScript使用strictnullcheck實(shí)戰(zhàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
微信小程序?qū)崿F(xiàn)圖片自適應(yīng)(支持多圖)
這篇文章主要介紹了微信小程序如何實(shí)現(xiàn)圖片自適應(yīng)的相關(guān)資料,文中介紹的方法同樣適應(yīng)于多圖,有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01

