說明
開發
從原始碼執行、建置與封裝 Astrofox。
Astrofox 是採用 React 與 Three.js 的用戶端 Next.js 應用程式。本機開發時不需要後端或身分驗證服務。
系統需求#
- 與專案相依套件所宣告版本相容的 Node.js
- pnpm
- Git
複製並安裝:
執行網頁版#
建立正式版建置:
一般的建置流程用於網頁部署。專案與媒體都保留在使用者的裝置上,不需要本機 API 服務。
執行桌面應用程式#
桌面開發指令會啟動 Next.js 開發環境與 Electron 外殼:
建置正式版桌面套件:
也提供各平台專用的指令:
BUILD_TARGET=desktop 會在 out/ 中產生靜態的 Next.js 匯出,接著再與 Electron 主程序及 preload 橋接層一起封裝。
開發外掛程式#
執行範例外掛程式伺服器:
它會尋找可用的連接埠,以 CORS 提供範例外掛程式資料夾,並印出可在 Astrofox 中安裝的資訊清單 URL。完整流程請參閱外掛程式開發。
架構說明#
- 網頁版與桌面版建置共用同一個應用程式與專案格式。
- 一般的專案與媒體 I/O 優先使用 File System Access API。
- Electron 橋接層僅限用於視窗外框、ffmpeg、暫存檔案,以及匯出後的作業系統整合。
- 網頁版影片使用
MediaRecorder;桌面版離線匯出會渲染影格,並透過內建的 ffmpeg 執行檔處理。 - 外部 JavaScript 外掛程式會在具有嚴格內容安全政策(Content Security Policy)的沙箱化 worker 中執行。
原始碼與貢獻動態都在 Astrofox GitHub 儲存庫中。
