文档
自主构建

自主构建

💡

如果你想要自定义构建过程,或者你想要在不同的平台上运行,那么你需要自主构建。我们在 「快速起步」 章节提供的是 Linux + macOS x86 平台的构建包。

直接构建服务

克隆官方远程 git 仓库

git clone https://github.com/mogland/core.git

使用 pnpm 安装项目依赖(依赖 pnpm 8.x 以上版本)

pnpm install

使用 NestJS CLI 命令构建你需要的服务

pnpm build:<service-name>
# 比如说
pnpm build:core
 
# 你也可以使用
pnpm build # 构建所有服务

目前支持的 service-name 可在 目前支持的服务 中看到

使用 node 命令启动你已构建完成的服务

cd dist/<service-name>
node main.js
# 比如说
cd dist/core
node main.js

目前支持的服务

目前支持的 service-name 有:

  • core - 必要网关层 - 必须构建
  • user-service - 用户服务模块 - 必须构建
  • page-service - 文章页面分类服务模块
  • comments-service - 评论服务模块
  • friends-service - 友情链接服务模块
  • notification-service - 通知服务模块
  • themes-service - 主题服务模块

拓展:使用 @vercel/ncc 重新打包

@vercel/ncc 是一个可以将 Node.js 项目打包成一个单文件的工具,让你可以在不安装项目依赖(node_modules)的情况下运行项目。

core 中已经写好了相关构建命令,你可以直接使用,但前提是你需要先构建了服务。

pnpm bundle:<service-name>
# 比如说
pnpm bundle:core
 
# 你也可以使用
pnpm bundle # 构建所有服务

构建完成后,你可以在 out/<service-name> 目录下找到打包后的文件夹。请注意,请勿修改打包后的文件夹内的任何文件,否则可能会导致服务无法正常运行。

接下来使用 node 命令启动你已构建完成的服务

cd out/<service-name>
node main.js
# 比如说
cd out/core
node main.js

关于组件启动时的自定义配置,请前往「配置索引」章节

ℹ️

有关持久化运行,请自行使用搜索引擎探索。这里给几个相关的关键词:pm2, screen, docker, docker compose