F:\learn-front\code-inspector\package.json
這兩行命令是用於在JavaScript專案中釋出(publish)軟體包到npm倉庫的指令碼定義,常見於使用pnpm作為包管理器的Monorepo(單倉庫多專案)結構的專案中。
這裡具體解釋一下每部分的含義:
-
pub
: 這是一個npm指令碼的別名,當在命令列中執行npm run pub
或yarn pub
(如果使用Yarn作為包管理器)時,它會執行對應的命令。
這裡定義的是使用pnpm
命令,並結合--filter
選項來指定操作範圍。"./packages/*"
表示操作應用於packages
目錄下所有子目錄中的專案。
緊跟的run pub
意味著它會執行每個匹配專案中的pub
指令碼,這通常是用來發布專案的預設版本到npm registry。 -
pub:beta
: 類似於上面的pub
,但這是釋出beta版本的指令碼定義。
當你執行npm run pub:beta
或yarn pub:beta
時,它同樣會利用pnpm
並應用過濾器"./packages/*"
來操作所有子包,但這次執行的是每個包中的pub:beta
指令碼。
這通常涉及構建併發布帶有beta標籤或其他標識的預釋出版本,以便在正式釋出前進行測試或讓使用者提前試用。
總結來說,這兩個指令碼提供了快速釋出專案到npm倉庫的便捷方式,分別對應正式釋出和預釋出(如beta版本)兩種場景,充分利用了pnpm的過濾功能來批次操作Monorepo中的多個包。
packages/core/package.json
{
"scripts": {
"pub": "pnpm publish",
"pub:beta": "pnpm publish --tag beta"
}
}