基于tsup打包TypeScript實(shí)現(xiàn)過程
什么是tsup
Tsup
可以快速打包 typescript
庫(kù),無需任何配置,并且基于esbuild進(jìn)行打包,打包 ts
文件速度毫秒級(jí),方便又高效。
?? Install
在項(xiàng)目文件夾中本地安裝它。官網(wǎng)傳送門
npm i tsup -D # Or Yarn yarn add tsup --dev
Tsup也可以全局安裝,但不建議這樣做。
快速上手
tsup默認(rèn)支持無配置打包,我們嘗試一下。
- 步驟 1: 創(chuàng)建并進(jìn)入一個(gè)目錄
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支持一次性打包多個(gè)文件
配置文件
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
會(huì)生成打包文件
小彩蛋 安裝失敗~
如果安裝時(shí)報(bào)的錯(cuò)誤和我是一致的話,就需要以下操作進(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": { // 第二行 添加這個(gè) "esbuild": "npm:esbuild-wasm@latest" } }
以上就是基于tsup打包TypeScript實(shí)現(xiàn)過程的詳細(xì)內(nèi)容,更多關(guān)于tsup打包TypeScript的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
TypeScript開發(fā)HapiJS應(yīng)用詳解
這篇文章主要為大家介紹了TypeScript開發(fā)HapiJS應(yīng)用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08高級(jí)前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree
這篇文章主要為大家介紹了高級(jí)前端面試手寫扁平數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)Tree示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06TypeScript實(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-01TypeScript使用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