引言

rap2 使用了前后端分离的架构。
后端源码地址:rap2-delos 基于Koa + MySQL
前端源码地址:rap2-dolores 基于React

首先下载源码,通过git或者直接根目录下载解压都可以,自行解决下载速度慢的问题。

安装需要的环境

Node.js 8.9.4+ 安装最新windows版
MySQL 5.7+ 不要用最新版,会有问题,踩坑过
Redis 4.0+ 这个实测3.2也没问题 ,window版下载地址
提供默认端口无密码的redis服务。

安装后端站点

创建数据库

mysql -e 'CREATE DATABASE IF NOT EXISTS RAP2_DELOS_APP DEFAULT CHARSET utf8 COLLATE utf8_general_ci'

在全局安装pm2 和 typescript

npm install -g pm2
npm install -g typescript

配置mysql,redis 数据库链接配置

在/src/config/config.xxx.js 中可以找到相应配置,根据实际情况填写。

初始化

执行

npm install

可能会出现差一些包 ,根据包名,都可以使用 npm install xxxx 来安装。

编译

npm run build

初始化数据库表,填充基础数据

npm run create-db

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

npm run check

启动服务

启动服务之前检查下8080端口是否被占用,当然也可以在/src/config/config.xxx.js 修改端口

npm start

(iis上有iisnode 可以让iis托管node程序,但是没有成功配置出来 ,所以目前还是用的pm2 来承载运行这个程序)

方法2: 通过nssm 执行发布后dist目录的   node  dispatch.js ,安装成windows服务也可以 ( 2018.07.20补充)

安装前端站点

这是一个纯静态的站点,只需要先打包出来,然后挂在iis上就行。

初始化

在下载源码包的根目录执行

npm install

配置前端站点所使用的服务端端地址

可以在/src/config/config.prod.js(生产模式配置文件) 中找到

打包程序

在下载源码包的根目录执行

npm run build

执行成功的话,将会在根目录生成一个build文件夹,这个里面就是发布好的站点文件。

部署站点

使用iis

使用build文件夹 新建一个站点。需要,这个时候已经可以看到效果了, 但是当用户在非根目录刷新页面就会出现404页面。
这里需要特殊处理下:
方法1: 在iis上配置,选中站点 -》功能视图下的 错误页 -》编辑404状态码-》改成在此网站上执行\index.html 。
方法2: 使用urlrewrite 功能, 将所有请求都重写到\index.html。

使用server命令

安装server命令 npm install -g server
运行 : serve -s ./build -p 80
这也是官方给出的方案

结语

安装过程中也不是一帆风顺,大多出现在执行 npm命令 ,基本都是缺少包 或者命令 ,然后使用 npm install xxxx 安装就好 。

在windows 上编译部署Rap2的更多相关文章

  1. 在Mac/Linux/Windows上编译corefx遇到的问题及解决方法

    这两天尝试在Mac/Linux/Windows三大平台上编译.NET跨平台三驾马车(coreclr/corefx/dnx)之一的corefx(.NET Core Framework),结果三个平台的编 ...

  2. [ZZ] 在windows上编译Mesa3d opengl32库

    在windows上编译Mesa3d opengl32库 cheungmine http://blog.csdn.net/ubuntu64fan/article/details/8061475 Mesa ...

  3. 利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl

    利用openssl管理证书及SSL编程第2部分:在Windows上编译 openssl 首先mingw的环境搭建,务必遵循下文: http://blog.csdn.net/ubuntu64fan/ar ...

  4. Zabbix agent 在windows上安装部署

    Zabbix agent 在windows上安装部署 1.下载与解压 地址: http://www.zabbix.com/downloads/2.4.4/zabbix_agents_2.4.4.win ...

  5. 在windows上编译wireshark源代码

    终于在windows上成功编译了wireshark源代码,个中酸辛,都是泪..只能说要多试! windows上编译wireshark共用到三个东西:wireshark源代码.python.cygwin ...

  6. Primecoin在windows上的部署和启动服务

     Primecoin在windows上的部署和启动服务: 一.从官方获得Primecoin的windows版安装包: 二.一路像安装客户端一样的安装: 三.安装成功后它会自动弹出客户端运行,同步数据, ...

  7. jenkins在windows上自动化部署.Net(.Net Core)项目

    前言 什么是持续集成呢?Continuous integration(CI).持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集成. ...

  8. 在windows上编译MatConvNet

    有个BT的要求,在windows上使用MatConvNet,并且需要支持GPU. 费了些力气,记录一下过程(暂不支持vl_imreadjpeg函数) 在这里下载MatConvNet,机器配置vs201 ...

  9. 如何在 Windows上编译Objective-C

    Objective-C现在几乎已经变成了苹果的专利了,可以直接在苹果的Xcode上编译Objective-C程序,但是在Windows平台下的编译工具就寥寥无几了,本身这种语言用的人就不是很多.今天在 ...

随机推荐

  1. 转-tcp建立和释放详解

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来看看如何建立连接的. [更新于2017.01.04 ]该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删 ...

  2. 自定义TabWidget

    在开发过程中,默认的TabWidget不能满足我们对于UI的要求并且没有足够的属性工我们去修改,这个时候能够自定义TabWidget是非常必要的.自定义TabWidget组要运用的是TabSpec.s ...

  3. 洛谷P3379 【模板】最近公共祖先(LCA)(dfs序+倍增)

    P3379 [模板]最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点个数.询 ...

  4. Solr 6.7学习笔记(06)-- spell check

    拼写检查也是搜索引擎必备的功能.Solr中提供了SpellCheckComponent 来实现此功能.我看过<Solr In Action>,是基于Solr4.X版本的,那时Suggest ...

  5. cf414B(dp)

    题目链接:http://codeforces.com/problemset/problem/414/B 题意:定义所有元素是其前一个元素的倍数的数列为good sequence,给出 n, 和 k,求 ...

  6. uoj#213. 【UNR #1】争夺圣杯(单调栈)

    传送门 我们枚举每一个元素,用单调栈做两遍计算出它左边第一个大于它的位置\(l[i]\)和右边第一个大于它的位置\(r[i]\),那么一个区间以它为最大值就意味着这个区间的左端点在\([l[i]+1, ...

  7. spring事物回滚机制 (事务异常回滚,捕获异常不抛出就不会回滚)

    当异常被捕获catch的时候,spring的事物则不会回滚 为什么不会滚呢??  spring aop  异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样aop代理才能捕获到方法的异常 ...

  8. git push error: ! [rejected] failed to push some refs to . . .

    报错情况: 报错原因:远程库与本地库不一致造成的,需要把远程库同步到本地库! 解决办法: git pull --rebase origin master 这条指令是将远程库中的更新合并到本地库,--r ...

  9. java.exe is valid, but is for a machine type other than the current machine

    java.exe is valid, but is for a machine type other than the current machine jdk版本不一致问题,在32位机器上使用64位的 ...

  10. 牛客小白月赛13 G(双向搜索)

    AC通道 两边同步搜,一步里面A走一次B走两次,遇到对方走过的地方就得到了答案. #include <bits/stdc++.h> using namespace std; const i ...