引言

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. 面试总结hashmap

    考点: 1.hashing的概念 2.HashMap中解决碰撞的方法 3.equals()和hashCode()的应用,以及它们在HashMap中的重要性 4.不可变对象的好处 5.HashMap多线 ...

  2. 【原】:关于使用springmvc的responseBody注解返回json的一些总结

    配置不正确可能会出现406错误 1:首先需要导入三个jar包: 2:需要在springmvc的配置文件文件中添加转换器并开启注解驱动: 3:controller:这里返回object也是可以的; 4: ...

  3. 通俗易懂,什么是.NET Core以及.NET Core能做什么

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/10880884.html 我们都知道.NET Core是一个可以用来构建现代.可伸缩和高性能的跨平台软件应 ...

  4. nodejs安装使用express

    1.用Express 应用程序生成器 express-generator 快速搭建express框架 1.1安装: npm install express-generator -g 1.2 生成目录: ...

  5. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)【A,B,C】

    翻车!翻车! codeforces782A A题: 水. 代码: #include <bits/stdc++.h> using namespace std; typedef long lo ...

  6. ue4 fuck

    https://answers.unrealengine.com/questions/661969/uspringarmcomponent-ucameracomponent-not-identifie ...

  7. [Xcode 实际操作]六、媒体与动画-(1)使用图形上下文按一定比例缩放图片

    目录:[Swift]Xcode实际操作 本文将演示如何通过图形上下文,来实现图片缩放的功能. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKi ...

  8. java 文件相关问题

    1.文件路径 分隔符 System.out.println(File.separator); System.out.println(File.pathSeparator); /*mac os 和 li ...

  9. thinkphp5使用前置后置操作

    下面举个例子,前置删除的例子   模型事件只可以在调用模型的方法才能生效,使用查询构造器通过Db类操作是无效的   控制器中实例化类   $cate=model('cate'); $cate-> ...

  10. C语言中 malloc函数用法

    一.malloc()和free()的基本概念以及基本用法: 1.函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针 ...