Carbon Components Angular:針對 Angular 的 Carbon Design System 實作
IBM Carbon 設計系統的 Angular 實作。現在我們可以運行 npm start 並開始建立我們的應用程式!
秒懂
- 它是什麼?
- 本文介紹 Carbon Components Angular 的用途、快速開始、支援策略、貢獻方式及授權。 聚焦本專案的實際功能、技術入口、部署條件、資料流、版本變化與授權邊界,並依官方 README 所列能力判斷適用工作情境和不適合的替代用途。
- 適合誰用?
- Carbon Components Angular 是一個針對 Angular 的 Carbon Design System 實作,透過元件化、最小狀態和委派給消費者的原則,協助建立頁面與應用程式。專案目前使用 Apache-2.0 授權,並依賴社群支援與貢獻。
- 可以商用嗎?
- 可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 5 天前。
- 用什麼語言寫的?
- 主要是 TypeScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
專案概覽
Carbon Components Angular 是一個使用 TypeScript 編寫的開源專案,目標是提供 Carbon Design System 的 Angular 實作。根據倉庫元資料,專案描述為「An Angular implementation of the Carbon Design System for IBM.」,目前擁有 564 個 star、319 個 fork 和 231 個 open issues,預設分支為 master。專案首頁位於 https://angular.carbondesignsystem.com,顯示它是 Carbon Design System 在 Angular 生態中的官方或主要實作。
快速開始
README 建議從一個新的 @angular/cli 專案開始,並使用 SCSS 作為樣式方案。首先執行 `npx @angular/cli new my-project --style=scss`,然後進入專案目錄並安裝 `carbon-components-angular`、`@carbon/styles` 和 `@carbon/icons` 這三個套件。接著需要在 `src/styles.scss` 中引入 Carbon 樣式,透過 `@use '@carbon/styles/scss/config' with (...)` 設定 `$use-flexbox-grid: true` 和 `$font-path: '@ibm/plex'`,再 `@use '@carbon/styles'` 並在 html 中呼叫 `styles.theme(styles.$white)`。最後需要建立一個 `module.d.ts` 檔案來宣告 `@carbon/icons/*` 模組。
版本與支援矩陣
README 提供了兩個支援矩陣。第一個是 Angular 版本與 Carbon Components Angular 主要版本的相容性,v3 支援 Angular 6 到 8,v4 支援 Angular 7 到 15(不包括 9),v5 支援 Angular 14 到 21。第二個矩陣說明了社群支援和活躍支援:v1 和 v2 已完全不受支援,v3 和 v4 僅有社群支援,v5 是當前活躍支援的版本。README 明確表示計畫支援最新版本和上一個版本,超出此範圍的版本不保證繼續支援。
貢獻指南
貢獻者需要先 fork 倉庫並克隆到本地,然後執行 `npm install` 安裝依賴,使用 `npm run storybook` 啟動 Storybook。如果新增元件,應在 `src` 下建立包含元件程式碼、樣式、測試和 story 的資料夾,並從 `index.ts` 匯出模組。如果貢獻修復,需要更新文件並考慮新增或修改測試案例。提交 PR 前應執行 `npm test` 和 `npm run lint` 確保測試和 lint 通過。README 還列出了 npm 命令,包括 `npm run build` 產生 dist、`docs:build` 建置文件等。
問題提交與程式碼規範
問題提交要求一個缺陷對應一個問題,標題需描述元件和版本,並提供版本資訊、問題描述、重現步驟、期望行為、目前行為、截圖和程式碼片段等。還建議新增相關標籤,如 bug、accessibility、design 等。貢獻者應遵循 Angular style guide,並參考專案 wiki 中的 style guide 和 component API guidelines。README 還提到 IBMers 在貢獻前需完成 W3 Developer 的步驟,並閱讀貢獻指南。
專案哲學
README 明確闡述了專案哲學:元件應該是最小的計算單元,由多個元件組成頁面和應用程式;元件應盡可能委託給消費者,讓應用程式成為單一事實來源;元件應專注於單一核心體驗,避免過度特化;元件不應維護超過必要狀態,優先使用無狀態元件;元件不一定逐點實作 style guide,而是提供基礎功能,允許產品特定設計。這些原則指導了元件的設計和實作。
授權與遙測
專案使用 Apache-2.0 授權,該授權授予使用者複製、修改、散佈和再授權的權限,包括版權和專利授權。授權文字還涉及定義、貢獻和散佈條款,但未涉及支援、安全或保固等事項,這些不在授權範圍內。,README 提到該套件使用 IBM Telemetry 收集去識別化和匿名化的指標資料,安裝即同意收集,但可以透過相關文件選擇退出。專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果
編輯結論
Carbon Components Angular 是一個針對 Angular 的 Carbon Design System 實作,透過元件化、最小狀態和委派給消費者的原則,協助建立頁面與應用程式。專案目前使用 Apache-2.0 授權,並依賴社群支援與貢獻。
社群筆記