引言

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. 项目debug2

    用户登录后,邮件发送失败?为什么呢? 密码得是,授权码,而不是,qq的密码.

  2. js基础(补10.10)

    1.内嵌式: <html> <head> <title></title> </head> <body> <a href=& ...

  3. Git 时光穿梭鸡 管理修改

    Git跟踪并管理的是修改,而非文件. 什么是修改? 比如你新增了一行,这就是一个修改, 删除了一行,也是一个修改, 更改了某些字符,也是一个修改, 删了一些又加了一些,也是一个修改, 甚至创建一个新文 ...

  4. IT兄弟连 JavaWeb教程 过滤器与监听器经典面试题

    1.谈谈你对Servlet过滤器的理解 过滤器是Servlet2.3规范中定义的一种小型的.可插入的Web组件.用来拦截Servlet容器的请求和响应过程,以便查看.提取客户端和服务器之间正在交换的数 ...

  5. 支持通配符查询的k-gram索引

    k-gram索引的通配符查询处理技术称为k-gram索引. 一个k-gram代表由k个字符组成的序列.对于词项castle来说,cas.ast.stl都是3-gram.我们用特殊的字符$来标识词项的开 ...

  6. vue 开发笔记

    vue 开发记录 marked 插件的使用 import marked from "marked"; import hljs from "highlight.js&quo ...

  7. sql 查询重复数据

    select user_name,count(*) as count from comm_user group by user_name having count>1;

  8. STP-11-多生成树:IEEE 802.1s

    IEEE802.1s多生成树(MultipleSpanningTrees,MST)有时也称为多STP(MultipleSTP,MSTP),它定义了在使用802.1QVLAN网络中,部署多实例STP的标 ...

  9. 17.视图--SQL

    一.什么是视图 视图是虚拟的表 为什么使用视图 重用SQL语句. 简化复杂的SQL操作.在编写查询后,可以方便地重用它而不必知道其基本查询细节. 使用表的一部分而不是整个表. 保护数据.可以授予用户访 ...

  10. Memcache未授权访问漏洞利用及修复

    Memcached是一套分布式的高速缓存系统.它以Key-Value(键值对)形式将数据存储在内存中,这些数据通常是应用读取频繁的.正因为内存中数据的读取远远大于硬盘,因此可以用来加速应用的访问.本文 ...