<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Monorepo on Commentary of Takao</title><link>https://takao.blog/zh-tw/tags/monorepo/</link><description>Recent content in Monorepo on Commentary of Takao</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>Commentary of Takao</copyright><lastBuildDate>Wed, 15 Jul 2026 22:01:08 +0900</lastBuildDate><atom:link href="https://takao.blog/zh-tw/tags/monorepo/index.xml" rel="self" type="application/rss+xml"/><item><title>Monorepo 管理與 Turborepo：擴充開發</title><link>https://takao.blog/zh-tw/web/monorepo-turborepo/</link><pubDate>Tue, 24 Sep 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/zh-tw/web/monorepo-turborepo/</guid><description>&lt;img src="https://takao.blog/img/thumbnail/monorepo-turborepo-zh-tw.png" alt="Featured image of post Monorepo 管理與 Turborepo：擴充開發" /&gt;&lt;h2 id="介紹"&gt;介紹
&lt;/h2&gt;&lt;p&gt;隨著 JavaScript monorepos 的成長，建置時間螺旋式上升，CI 管線飽和，開發人員生產力下降。由 Vercel 創建的 Turborepo 透過智慧型快取和平行任務執行來解決這些挑戰。與 Lerna 或 Nx 不同，Turborepo 專注於成為任務運行程式而不是建置工具，將編譯委託給 esbuild、webpack 和 tsc 等工具。&lt;/p&gt;</description></item><item><title>TypeScript 專案參考：擴充大型程式碼庫</title><link>https://takao.blog/zh-tw/web/typescript-project-references/</link><pubDate>Tue, 13 Aug 2024 00:00:00 +0900</pubDate><guid>https://takao.blog/zh-tw/web/typescript-project-references/</guid><description>&lt;img src="https://takao.blog/img/thumbnail/typescript-project-references-zh-tw.png" alt="Featured image of post TypeScript 專案參考：擴充大型程式碼庫" /&gt;&lt;h2 id="介紹"&gt;介紹
&lt;/h2&gt;&lt;p&gt;隨著 TypeScript 程式碼庫的成長，單一的 &lt;code&gt;tsconfig.json&lt;/code&gt; 方法會崩潰。每次呼叫 &lt;code&gt;tsc&lt;/code&gt; 都會進行類型檢查並發出整個項目 - 即使在大型 monorepos 中使用 &lt;code&gt;--noEmit&lt;/code&gt; ，這個過程也可能需要幾分鐘的時間。更糟的是，沒有模組邊界，任何文件都可以匯入任何其他文件，從而創建難以重構的混亂依賴關係圖。 &lt;strong&gt;TypeScript 專案參考&lt;/strong&gt; 透過允許您將程式碼庫拆分為獨立的子專案（每個子專案都有自己的 &lt;code&gt;tsconfig.json&lt;/code&gt;）來解決此問題，從而實現增量建置、強制執行 API 邊界以及顯著加快類型檢查速度。&lt;/p&gt;</description></item></channel></rss>