Node.JS
Rainbond 5.1 版本已支持源码部署 NodeJS 前端类项目,你可以直接在 Rainbond 发布 Vue, React, Angular 等项目 查看文档: nodejs-static 部署 NodeJS 前端项目到 Rainbond
NodeJS 语言识别规范
平台默认会根据源码根目录是否有package.json
来识别为 NodeJS 项目.
平台编译运行机制
- 预编译处理会探测是否定义了启动命令配置文件Procfile,如果未定义会读取
package.json
文件中的script.start
值来生成启动配置文件; - 预编译处理完成后, 会根据语言类型选择 nodejs 的 buildpack 去编译项目.在编译过程中会安装定义的 Node 版本以及 Nodejs 相关依赖;
- 编译完成后会检查是否在平台设置了 Procfile 参数,若配置了会重写启动命令配置文件 Procfile.
NodeJS 项目源码规范
在此步骤中,你需要提供一个可用的 NodeJS 源码程序用来部署在 Rainbond 平台上,此应用程序至少需要满足如下条件:
- 本地可以正常运行的 NodeJS 项目
- 源码程序必须托管在 gitlab 等相关 git 或者 svn 服务上
- 源码程序根路径下必须存在
package.json
,用来管理 NodeJS 项目的依赖,也是 Rainbond 识别为 NodeJS 语言的必要条件
Procfile 规范
如果项目未定义 Procfile 文件,平台会根据package.json
文件中的script.start
值来生成默认 Procfile。
web: npm start
上述是默认 Procfile,如果需要扩展更多启动参数,可以自定义 Procfile。
web:
和npm
之间有一个空格- 文件结尾不能包含特殊字符
编译运行环境设置
Node 版本支持
当前 Rainbond 支持 Node 如下版本为:
4.9.1
5.12.0
6.14.4
7.10.1
8.12.0
9.11.2
10.13.0
11.1.0
平台默认版本使用8.12.0
。可以在 package.json
里使用 engines 指定版本:
{
"name": "myapp",
"description": "a really cool app",
"version": "0.0.1",
"engines": {
"node": "4.8.7"
}
}