Apps Script用Sheet生成動態網頁(15): 使用React動態網頁範本
在前14篇中我們已經學到如何使用Apps Script來操作Google Sheet作為資料庫和Google Dirve資料儲存,接著我們就進入現代WebApp應用範疇,加入React並整合更多功能。
之後Apps Script與React我都會放在 Mirochiu/ReactOnAppsScript 供參考,是使用Elisha Nuchi的範本為基礎我再調改成預設使用webapp的版本。十分感謝由Elisha Nuchi所貢獻的良好範本。
事前準備
之前使用的工具只有Google Apps Script版本發布工具clasp,現在要用React就需要安裝很多相關套件,這時候就需要用到套件管理系統。在node.js這方面我習慣使用yarn套件管理程式,所以的範本裡已經改成用yarn來管理。關於yarn的安裝方式可以參考我之前在Ubuntu20.04上的安裝經驗。
進入專案目錄,使用yarn指令下載相關套件。
設定專案
請先使用yarn login來進行clasp的登入。- 建立新的AppsScript專案
可以使用yarn setup來幫你產生新的Apps Script專案,預設創立的名稱為React Webapp。 - 使用既有Apps Script專案
修改專案根目錄下.clasp.json和appsscript.json檔案成你的AppsScript專案的內容。
以一個webapp來說.clasp.json會紀錄scriptId和clasp發布檔案的路徑,請修改裡頭的scriptId。
appsscript.json預設應為
發布專案
你可以使用yarn deploy發布這個AppsScript專案
然後用yarn open來選擇開啟你發布的網站(開啟預設的瀏覽器)
展示畫面
在展示畫面中按下Press Me按鈕,會與Server端取的當前的AppsScript URL
程式碼位置
在Elisha Nuchi的範本中原本提供3種前端範例,為了避免混淆,這裡僅留下demo-bootstrap的這個範例,你可以在專案路徑的src/client中找到前端的程式碼範例。而後端的程式碼範例則是在src/server中。
Coding Style
由於Elisha Nuchi原本的範本中已套用了Coding Style,例如會用空白取代TAB,TAB大小為2格空白等等,所以如果你要套用自己的,可以再自行修改,我這裡因為VSCode預設編輯設定不太一樣,所以已經先將這兩個設定寫到.vscode/settings.json內
留言