ionic angular cordova 熱更新 code push server

ionic+angular+cordova 熱更新 - 建置伺服器環境

蔡宛蓉 2019/11/05 22:41:52
59

一、前言

一般若只是為研究、測試階段的專案,通常可藉由別人搭建好的伺服器作為進行資料的交換或存取來使用。在正式開發的專案,由於將開發中的程式碼上傳至別人搭建的伺服器,多少會有些不妥以及風險!熱更新也是一樣,所以本文首要會先介紹如何使用code-push-server搭配MySQL建置伺服器。

 

 

二、事前準備

•  OS系統:Mac

•  Node.js:官網下載頁面

•  MySQL:官網下載頁面

•  code-push-server:開啟終端器並執行npm install code-push-server -g指令

 

 

三、安裝MySQL

進入mysql官網下載頁面,選擇dmg格式的檔案下載。

由於之前已有下載過安裝檔,所以目前使用的版本為v5.7.28。

 

下載完成後雖然只要一直點擊繼續就可安裝完成,但這邊先別急著安裝,請先往下看。

 

很重要!很重要!很重要!所以說了三次

有一點需要特別注意:在安裝最後流程中,安裝成功後即會跳出一個彈跳視窗,而上面所顯示的資訊提示已產生root的預設密碼,由於這部分很容易沒注意到就直接點擊OK了。

 

 

四、忘記密碼設置以及開啟、停止MySQL Server

假如真的沒有保存到密碼的話,也不用過於擔心,還是有可以補救的方法。在安裝好MySQL時,首先到系統偏好設定找到MySQL的圖示。

 

點擊之後就會進入到MySQL設定介面,預設是停止MySQL Server運作,所以需要手動開啟。如果是忘記密碼的話,建議先不要將MySQL開啟。

 

接著,就直接開啟終端器忘記密碼重設的指令。因為MySQL Server尚未開啟,所以就直接輸入指令:

1. 切換至MySQL的目錄

cd /usr/local/mysql/bin/

 

2. 取得最高權限

sudo su

 

3.無視驗證功能

./mysqld_safe --skip-grant-tables &

 

4.進入MySQL命令提示列

./mysql

 

5.設定新密碼

UPDATE mysql.user SET authentication_string=PASSWORD('新密碼') WHERE User='root';

這步驟輸入完成後,按下Enter,可以看到回傳Query OK等等的訊息,代表已成功設置新密碼。

 

 

五、MySQL環境變量配置

更改密碼之後,已可以進入到MySQL命令提示列中,在終端器中輸入指令:mysql -uroot -p

上圖中顯示-bash: mysql: command not found,這是因為該指令會搜尋其底下的可執行程序的目錄,但Mac默認的路徑為/usr/local/mysql/bin,這部分有比較簡便的方法處理,不過一旦關閉終端器就會需要重新輸入指令,所以這邊直接選擇將問題解決。

 

一樣開啟終端器並輸入指令:sudo open .bash_profile按下Enter後會開啟.bash_profile檔案,在檔案中輸入:export PATH=${PATH}:/usr/local/mysql/bin,輸入完畢儲存後將終端器關閉再重新開啟。

 

這時,再次輸入指令:mysql -uroot -p,可以看到終端器畫面中顯示"Enter password:",輸入密碼就可以進入到MySQL命令列中。

 

 

六、初始化資料庫

在事前準備標題中,已有提到需要安裝code-push-server,如果已有安裝的話則繼續往下個步驟執行;若未安裝請先將這部分安裝起來。

 

接著,安裝完code-push-server可於該目錄/usr/local/lib/node_modules/code-push-server/config/config.js並開啟檔案。

開啟檔案後填寫db裡的password。

 

比較需要注意的是local裡的storageDir。當安裝code-push-server時,當初始化資料庫時若找不到該目錄資料夾則不會自動創建,建議這部分手動修改其目錄位置。下圖中的目錄為已修改過後的目錄位置。

 

完成之後就可以初始化資料庫了,於終端器中輸入如下指令:

code-push-server-db init -dbhost "127.0.0.1" --dbport "3306" --dbuser "root" --dbpassword "你的密碼"

這邊也要注意一點:初始化資料庫指令的配置與config.js裡的配置需一致,而每更改一次config.js裡的配置需重新啟動code-push-server。

蔡宛蓉