create 會根據所選範本建立檔案、設定與初始腳本,並可選擇性安裝相依套件。
想逐檔了解產生的目錄樹,參見 create 會產生什麼。
何時使用 create
- 從零開始建立新擴充功能。
- 快速建立多個概念驗證(PoC)。
- 以一致的範本預設值,為團隊成員標準化專案上手流程。
Create 指令功能
用法
使用 Yarn?
yarn dlx 指令需要 Yarn 2 或更新版本。Yarn 1 沒有
dlx,會以「Command not found」錯誤失敗。在 Yarn 1 上,請改用
npm 分頁(npx)。引數與旗標
當你想使用預設的 JavaScript 起始範本時,完全不需指定
--template。只有在你想用 官方範例 中的其他技術棧時,才加上 --template=<slug>。--template 也接受 GitHub URL 或 ZIP URL,因此你可以從任何儲存庫建立專案。
範本目錄共有 6 組 53 個範本:starters、sidebar、content scripts、new tab、toolbar action 以及特殊資料夾。執行 extension create --help 可看到完整清單。預設的 javascript 範本內建於 CLI,因此建立時不需要任何網路請求。其他所有範本都會在建立時下載範本目錄的壓縮檔。
範本語料的版本固定
範本目錄的下載會固定在 examples 儲存庫的某一個不可變 commit 上。因此同一個版本的兩次建立會產生完全相同的位元組。有兩個環境變數可以覆寫這個固定:EXTENSION_CREATE_TEMPLATE_REF指向另一個 ref。設為main可恢復浮動行為。EXTENSION_CREATE_TEMPLATE_URL指向另一個完全不同的壓縮檔 URL。
.extension-create.json 來源紀錄檔。它記下 create 的版本、範本與來源,當範本來自範本目錄壓縮檔時還會記下解析出的 ref,讓範本漂移隨時可稽核。內建的 javascript 起始範本記錄的是 "source": "bundled",而且沒有 ref。
用 --output json 取得機器可讀輸出
--output json 會在 stdout 印出一個 schema-1 信封,並把建立過程的進度訊息送到 stderr:
- 成功的執行會印出
status: "created"訊框。它的value帶有projectPath、projectName、template與depsInstalled。 - 失敗會印出
ok: false以及一個error.code:未知的範本名稱對應E_TEMPLATE_NOT_FOUND,下載失敗對應E_NETWORK,目標資料夾的問題對應E_DESTINATION_NOT_EMPTY或E_DESTINATION_NOT_WRITABLE。
共用全域選項
也支援 全域旗標。指令範例
可用範本
JavaScript(預設)
最精簡的起始範本。需要乾淨基線時使用。
TypeScript
預先設好
tsconfig.json 的型別化起始範本。React
為 content scripts 與 popup 視圖串接好的 React UI。
Vue
內建單一檔案元件(SFC)支援的 Vue UI。
最佳實務
- 從符合你 UI/執行階段需求的範本開始,可減少後續設定上的偏移。
- 第一次執行時保持簡單,確認基本指令流程後再加入額外工具。

