Api 文档管理系统 RAP2环境搭建

RAP2是采用前后端分离的形式,因此搭建完整的RAP2需要服务端:rap2-delos客户端:rap2-dolores 同时部署

部署RAP2需要亲具有Node+Linux+MySQL的运维知识,如果亲对此不是很了解,建议用http://rap2.taobao.org 线上版本就可以

由于客户端:rap2-dolores 是建立在 服务端:rap2-delos 基础上,因此先搭建服务端应用

安装基本工具

以上基本工具请根据自身需要,下载对应系统安装包,请自行解决安装配置等问题,这里不做过多说明

服务端delos环境搭建

构建项目

获取源代码

1
git clone https://github.com/thx/rap2-delos.git

导入VS Code

这里的开发编辑工具推荐,当然你也可以用自己熟悉的开发工具

环境配置

创建数据库

  • Mac or Linux

    1
    mysql -e 'CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci';
  • Windows 环境

    进入mysql命令后执行

    1
    CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

配置文件

目录:rap2-delos/src/config
文件:config.dev.ts;其中dev,表示开发环境,其他同理
修改:config.dev.ts文件中db对象中usernamepassword参数与本地或者开发环境的数据库信息匹配

启动项目

安装项目依赖包

项目根目录下执行

1
npm install

安装TypeScript编译包

1
npm install typescript -g

如果下载缓慢,请使用淘宝npm镜像

初始化数据库

项目根目录下执行(该过程比较慢,耐心等待初始化完成)

1
npm run create-db

编译启动项目

执行mocha测试用例和js代码规范检查

1
npm run check

  • 开发模式
    启动开发模式的服务器 监视并在发生代码变更时自动重启(第一次运行比较慢,请耐心等待)

    1
    npm run dev
  • 生产模式
    启动生产模式服务器

    1
    npm start

看到浏览器中如下提示,表示服务端delos已经部署成功

RAP2后端服务已启动,请从前端服务(rap2-dolores)访问。 RAP2 back-end server is started, please visit via front-end service (rap2-dolores).

或者在程序控制台出现如下Log,表示服务端delos已经部署成功
delos

常见问题

部署问题

  1. Windows下执行npm run build,提示'rm' 不是内部或外部命令,也不是可运行的程序或批处理文件

    原因:rm 是Linux下命令,
    解决方法:Windows系统可使用 git bash 打开该项目,执行该命令

  2. 执行npm run create-db命令,提示Unable to connect to the database:{ SequelizeAccessDeniedError: Access denied for user 'root'@'localhost' (using password:NO)}

    原因:未修改rap2-delos/src/config目录下数据库配置文件,或者是与文件中的数据库信息与之连接的数据库信息不匹配
    解决方法:修改config.dev.ts文件数据库配置信息

    如果修改正确无误后,执行npm run create-db依旧出错,那么查看该项目中是否已经存在dist目录,如果有,请按照如上修改对应的数据库配置信息

  3. 执行npm run dev命令,提示Error: listen EADDRINUSE :::8080
    原因:8080端口被占用
    解决方法:杀掉占用8080端口的应用

客户端dolores环境搭建

构建项目

获取源代码

1
git clone https://github.com/thx/rap2-dolores.git

环境配置

配置文件

目录:rap2-dolores/src/config
文件:config.dev.ts;其中dev,表示开发环境,其他同理
修改:config.dev.ts文件,serve地址是服务端rap2-delos部署成功后的地址,默认:'http://localhost:8080'

启动项目

安装项目依赖包

项目根目录下执行

1
npm install

如果下载缓慢,请使用淘宝npm镜像

编译启动项目

  • 开发模式
    自动监视改变后重新编译

    1
    npm run dev

    备注:测试用例

    1
    npm run test
  • 生产模式
    编译React生产包

    1
    npm run build

    用serve命令或nginx服务器路由到编译产出的build文件夹作为静态服务器即可

    1
    serve -s ./build -p 80

看到浏览器中出现登录页面,表示部署成功
dolores

常见问题

部署问题

  1. 执行npm run dev,提示

    1
    2
    3
    return process.dlopen(module,path._makeLong(filename))
    ...
    ...node_modules\node-sass\vendor\win32-x64-57\binding.node is not a valid Win32 application...

    原因:项目依赖包node-sass没有安装完全
    解决方法:npm install node-sass

  2. 项目运行起来,但一直停留在加载动画那里

    浏览器控制台输出:
    GET http://127.0.0.1:8080/account/info ==>> Failed to load http://127.0.0.1:8080/account/info

    原因:未修改rap2-delos/src/config目录下服务端连接地址,或者修改结果与rap2-dolores实际提供服务地址不匹配
    解决方法:修改config.dev.ts文件serve配置信息

    如果Windows系统修改正确无误后,依旧出错,那么查看hosts(路径:C:\Windows\System32\drivers\etc)中127.0.0.1的IP前是否有#,如果有请取消注释

其他

MySQL 运行问题

  • 错误一
    mysql
    原因:MySQL 集成命令没有加入系统的环境变量
    解决方法:将安装的MySQL Service路径加入系统变量
    path
  • 错误二
    create
    原因:没有数据库链接权限
    解决方法:先登录用root数据库,密码具体看自己数据库当时设置的密码

如何获取更新

目前请选择master分支源码,后续其他分支请看相应分支说明文档。在开发环境中git pull来获取最新的源码更新,每一期更新都会有对应的update.md请关注并按照上面的指示进行升级工作。