pnpm deploy

从 workspace 部署包。

使用方法:

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

如果您在部署之前构建过项目,也可以使用 --prod 选项跳过 devDependencies 安装。

  1. pnpm --filter=<部署的项目名称> --prod deploy <目标文件夹>

在 docker 映像中的用法。 在你的 monorepo 中构建完所有内容后,在第二个镜像中执行此操作,该镜像使用你的 monorepo 基础镜像作为构建上下文或在额外的构建阶段:

  1. # syntax=docker/dockerfile:1.4
  2. FROM workspace as pruned
  3. RUN pnpm --filter <your package name> --prod deploy pruned
  4. FROM node:18-alpine
  5. WORKDIR /app
  6. ENV NODE_ENV=production
  7. COPY --from=pruned /app/pruned .
  8. ENTRYPOINT ["node", "index.js"]

配置项

--dev, -D

不管 NODE_ENV 的值, 只下载 devDependencies 依赖.

--no-optional

不安装 optionalDependencies 依赖

--prod, -P

Packages in devDependencies won’t be installed.

--filter <package_selector>

阅读更多有关 filter 的内容。

已部署项目中包含的文件

默认情况下,部署期间会复制项目的所有文件。 项目的 package.json 可能包含一个“files”字段来列出应该复制的文件和目录。