工作區監控
註解
工作區監控在 Lerna 6.4.0 版中提供。
Lerna 可以監控套件中的檔案變更,並自動從儲存庫根目錄執行指令。如果您需要在開發工作流程中更新檔案時重建套件或重新執行測試,這很有用。
這可取代個別為每個套件設定監控的需要。
範例
監控所有套件並回顯套件名稱和變更的檔案
$ lerna watch -- echo \$LERNA_PACKAGE_NAME \$LERNA_FILE_CHANGES
監控所有套件,並在套件中的檔案變更時執行「建置」指令碼
$ lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
監控所有套件,並在變更影響所有套件時執行「建置」指令碼
$ lerna watch -- lerna run build --since
監控單一套件,並在其中的檔案變更時執行「建置」指令碼
$ lerna watch --scope="my-package-1" -- lerna run build --scope=\$LERNA_PACKAGE_NAME
監控單一套件及其倚賴項,在其中任何一個變更時執行「建置」指令碼
$ lerna watch --scope="my-package-1" --include-dependencies -- lerna run build --scope=\$LERNA_PACKAGE_NAME
監控所有套件,並執行變更套件和所有倚賴它的套件的 build
指令碼
$ lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME --include-dependents
如需更進階的篩選,請參閱篩選選項文件。如需更多可用選項,請參閱lerna watch
文件。
觀看環境變數
Lerna 會在執行內部指令時設定環境變數 $LERNA_PACKAGE_NAME
和 $LERNA_FILE_CHANGES
。可用於自訂要執行的指令。
$LERNA_PACKAGE_NAME
會取代已變更套件的名稱。$LERNA_FILE_CHANGES
會取代已變更的檔案。如果在一個週期中偵測到多個檔案變更,$LERNA_FILE_CHANGES
將會全部列出來,並以空格分隔。
註解
當使用 $LERNA_PACKAGE_NAME
和 $LERNA_FILE_CHANGES
時,您需要使用反斜線 (\
) 來跳脫 $
。請參閱上方的 範例。
使用套件管理員執行
上方的範例展示在終端機中直接使用 lerna
。不過,您也可以使用套件管理員使用 lerna
,而不將其新增到您的路徑中。
pnpm
pnpm lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
yarn
yarn lerna -- watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME
npx
npx -c 'lerna watch -- lerna run build --scope=\$LERNA_PACKAGE_NAME'
註解
當使用 npx
時,您需要使用 -c
,並用單引號 ('
) 將整個 lerna watch
指令包圍起來。如果不這樣做,npx
會在將指令傳遞給 lerna
之前嘗試取代 觀看環境變數,導致 $LERNA_PACKAGE_NAME
和 $LERNA_FILE_CHANGES
的值始終為空。
註解
如果您在 Windows 中使用 Lerna,您必須將環境變數框在「%」中。例如
$ lerna watch -- lerna run build --scope=%LERNA_PACKAGE_NAME% --include-dependents