1. 程式人生 > >在windows 上編譯部署Rap2

在windows 上編譯部署Rap2

get 前後端 CI 這也 新版 修改 blank com 填充

    • 在windows 上編譯部署Rap2
      • 引言
      • 安裝需要的環境
      • 安裝後端站點
        • 創建數據庫
        • 在全局安裝pm2 和 typescript
        • 配置mysql,redis 數據庫鏈接配置
        • 初始化
        • 編譯
        • 初始化數據庫表,填充基礎數據
        • 執行mocha測試用例和js代碼規範檢查
        • 啟動服務
      • 安裝前端站點
        • 初始化
        • 配置前端站點所使用的服務端端地址
        • 打包程序
        • 部署站點
          • 使用iis
          • 使用server命令
      • 結語

引言

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 來承載運行這個程序)

安裝前端站點

這是一個純靜態的站點,只需要先打包出來,然後掛在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