這個專案旨在使用Google Apps Script這個(免費)伺服器框架下,進行React網站的開發建置,並以Google Sheet作為簡易型資料庫,Google Drive作為內容儲存庫,讓網頁可以動態呈現並方便管理。
使用MIT協議釋出本專案,由於專案逐步建構中,若有建議歡迎提出。
!!!! BREAKING CHANGE !!!! 090cebdea 升級到最新的Webpack 5版本
升級到新版本後,使用react-router v5,v6發布到Google Apps Script都無法正常切換頁,所以已經先捨棄react-router套件,因此重構Client換頁組件的構成,新的App.jsx構成如下:
const App = () => {
return (
<AuthProvider>
<LoginController submitForm={<LoginPage />} registForm={<RegistPage />}>
<PagesController
pages={MemberPages}
initPage={MemberPages.home}
buildTopNavigator={buildTopNav}
buildBottomNavigator={buildBottomNav}
onPageChanged={onPageChanged}
/>
</LoginController>
</AuthProvider>
);
};
目前透過 LoginController.jsx 和 PagesController.jsx 進行換頁操作
建議搭配我寫的一系列文章:Apps Script用Sheet生成動態網頁,分別查看說明:
- 先安裝
npm
,jq
以及clasp
npm install
安裝本專案相依套件clasp login
登入Apps Script
npm run setup
自動建立新的Apps Script專案- 到Apps Script網站中將建立好得Apps Script發布成Web App, 可參考YT影片: Apps Script作為Web App
- 紀錄發布的
部署作業 ID
,在dist/.clasp.json
中加入deploymentId
鍵值來指定部屬ID npm run deploy
發布新版本,記下新發布版本號碼npm run open
選擇剛發布的版本號碼,瀏覽器上確認結果
- 移除
dist
目錄和.clasp.json
檔案 clasp clone --rootdir dist
選擇你要用的App Script- 拷貝
dist/.clasp.json
到本專案根目錄 - 在
dist/.clasp.json
中加入deploymentId
鍵值發布到部署作業 ID
npm run deploy
發布新版本,記下新發布版本號碼npm run open
選擇剛發布的版本號碼,瀏覽器上確認結果