跳至主要內容
版本:9.x

pnpm deploy

從工作區部署套件。在部署期間,已部署套件的檔案會複製到目標目錄。已部署套件的所有相依性,包括工作區的相依性,會安裝在目標目錄中一個獨立的 node_modules 目錄內。目標目錄將包含一個可攜式套件,可以複製到伺服器並執行,而無需額外的步驟。

用法

pnpm --filter=<deployed project name> deploy <target directory>

如果您在部署前建置專案,請同時使用 --prod 選項來略過 devDependencies 安裝。

pnpm --filter=<deployed project name> --prod deploy <target directory>

在 Docker 映像中使用。在 monorepo 中建立所有內容後,在使用 monorepo 基礎映像作為建置內容或在其他建置階段的第二個映像中執行此操作

# syntax=docker/dockerfile:1.4

FROM workspace as pruned
RUN pnpm --filter <your package name> --prod deploy pruned

FROM node:18-alpine
WORKDIR /app

ENV NODE_ENV=production

COPY --from=pruned /app/pruned .

ENTRYPOINT ["node", "index.js"]

選項

--dev, -D

僅安裝 devDependencies,而不考慮 NODE_ENV

--no-optional

不會安裝 optionalDependencies

--prod, -P

不會安裝 devDependencies 中的套件。

--filter <package_selector>

進一步了解篩選。

已部署專案中包含的檔案

預設情況下,專案的所有檔案都會在部署期間複製。專案的 package.json 可能包含一個「files」欄位,用於列出應複製的檔案和目錄。