在windows 上編譯部署Rap2
-
- 在windows 上編譯部署Rap2
- 引言
- 安裝需要的環境
- 安裝後端站點
- 創建數據庫
- 在全局安裝pm2 和 typescript
- 配置mysql,redis 數據庫鏈接配置
- 初始化
- 編譯
- 初始化數據庫表,填充基礎數據
- 執行mocha測試用例和js代碼規範檢查
- 啟動服務
- 安裝前端站點
- 初始化
- 配置前端站點所使用的服務端端地址
- 打包程序
- 部署站點
- 使用iis
- 使用server命令
- 結語
- 在windows 上編譯部署Rap2
引言
rap2 使用了前後端分離的架構。
後端源碼地址:rap2-delos 基於Koa + MySQL
首先下載源碼,通過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