NodeJS 前后端项目部署

本篇文档介绍如何在 Rainbond 平台上通过源代码部署 NodeJS 前端项目和后端项目。例如 Vue、React 等前端项目和 Express、Koa 等后端项目。

概述

在基于源码构建时,Rainbond 会识别项目根目录的 package.json 文件来判断为 NodeJS 项目。

  1. 支持在页面上选择为 Node 前端项目或者后端项目并自动添加下述文件,并选择使用 NPM 还是 YARN 构建项目。
  2. 在源代码根目录根据下述描述添加文件来确定项目类型。

Rainbond 会根据源码根目录是否有package.json来识别为 NodeJS 项目。根据是否存在nodestate.json文件来识别为 Node 前端项目。

  • package-lock.json: 如源码根目录存在则使用 NPM 构建,不可与 yarn.lock 同时存在。
  • yarn.lock: 如源码根目录存在则使用 YARN 构建,不可与 package-lock.json 同时存在。
  • nodestatic.json: 如源码根目录存在则为 Node 前端项目,默认如下:

    1. {
    2. "path": "dist"
    3. }

    指定静态文件编译后的输出目录,默认为 dist

  • web.conf: Nginx配置文件。如源码根目录存在则使用,不存在则采用下述默认配置。

    1. server {
    2. listen 5000;
    3. location / {
    4. root /app/www;
    5. try_files $uri $uri/ /index.html;
    6. index index.html index.htm;
    7. }
    8. }

    容器内 Nginx 默认路径为 /app/nginx,静态文件默认路径为 /app/www。如 /app/nginx/nginx.conf、/app/nginx/conf.d/web.conf

自定义构建脚本

如需要在构建前执行安装其他依赖等操作,在 package.json 中添加 scripts 节点,如:

  1. {
  2. "scripts": {
  3. "preinstall": "apt-get update && apt -y install python3 && bash preinstall.sh",
  4. "build": "npm run build"
  5. }
  6. }

在上述的 package.json 文件中,关键字 preinstall 指定了在安装依赖前所做的操作。示例中为执行代码根目录下的一个脚本文件,其内容为设置构建私服:

  1. #!/bin/bash
  2. yarn config set sass_binary_site https://npmmirror.com/mirrors/node-sass --global
  3. yarn config set phantomjs_cdnurl https://npmmirror.com/mirrors/phantomjs --global
  4. yarn config set electron_mirror https://npmmirror.com/mirrors/electron --global
  5. yarn config set profiler_binary_host_mirror https://npmmirror.com/mirrors/node-inspector --global
  6. yarn config set chromedriver_cdnurl https://npmmirror.com/mirrors/chromedriver --global

前端项目部署示例

源码部署 Vue Or React 项目

  1. 基于源码创建组件,填写以下信息:
内容
组件名称自定义
组件英文名称自定义
仓库地址https://gitee.com/zhangbigqi/vue-demo.git or https://gitee.com/zhangbigqi/react-demo
代码版本main
  1. 选择为 Node 前端项目并指定使用 Npm 还是 Yarn 构建项目。
  2. 在组件构建源中切换 Node 版本至 16.15.0 保存并构建。

后端项目部署示例

进入到团队下,新建应用选择基于源码示例进行构建,选中 NodeJS Demo 并默认全部下一步即可。