Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
為網頁平台進行編譯¶
也參考
這個頁面描述的是如何從源碼編譯 HTML5 編輯器和匯出範本二進位檔案。如果你要找的是匯出專案到 HTML5,請閱讀 為 Web 匯出。
系統需求¶
要為網頁平台進行編譯,需滿足下列需求:
SCons 3.0+ 建置系統。
建置匯出樣板¶
在開始之前,確認 emcc
在你的 PATH 中是可用的。這通常是由 Emscripten SDK 配置的,例如在呼叫 emsdk activate
和 source ./emsdk_env.sh
/emsdk_env.bat
時。
開啟終端機,並移至 Godot 原始碼的根目錄。接著使用 SCons 來為 JavaScript 平台建置。將如果要建置正式版本,請將 target
指定為 release
,若要建置除錯版本,請將 target
指定為 release_debug
:
scons platform=web target=template_release
scons platform=web target=template_debug
預設情況下, JavaScript 單例 會被建置至引擎內。官方的匯出樣板中也有開啟 JavaScript 單例。由於 eval
呼叫有安全性疑慮,因此可以通過 javascript_eval
選項來建置不包含該單例的版本:
scons platform=web target=template_release javascript_eval=no
scons platform=web target=template_debug javascript_eval=no
引擎會通過 Emscripten 來編譯至 WebAssembly。完成之後,產生的檔案會被放在 bin
子資料夾中。正式版本 (release) 的檔案名稱為 godot.javascript.opt.zip
,除錯版本 (debug) 為 godot.javascript.opt.debug.zip
。
最後,將用於正式樣板 (release) 的 ZIP 檔重新命名為 webassembly_release.zip
:
mv bin/godot.web.opt.wasm32.zip bin/web_release.zip
並將用於除錯樣板 (debug) 的 ZIP 檔重新命名為 webassembly_release.zip
:
mv bin/godot.web.opt.debug.wasm32.zip bin/web_debug.zip
GDExtension¶
由於性能和相容性的原因,預設的匯出範本不包括執行緒和 GDNative 支援。更多資訊見:ref:匯出頁面 <doc_javascript_export_options>。
你可以使用選項 threads_enabled=yes
或 gdnative_enabled=yes
建構匯出範本,以啟用執行緒或 GDNative 支援:
scons platform=web dlink_enabled=yes target=template_release
scons platform=web dlink_enabled=yes target=template_debug
產生的二進位檔會放在 bin/
子資料夾中。通常來說會依照下列命名慣例:
最後,將用於正式樣板 (release) 的 ZIP 檔重新命名為 webassembly_release.zip
:
mv bin/godot.web.opt.wasm32.dlink.zip bin/web_dlink_release.zip
mv bin/godot.web.opt.debug.wasm32.dlink.zip bin/web_dlink_debug.zip
內建主題編輯器。¶
也可以建立一個可以在瀏覽器中運作的 Godot 編輯器版本。編輯器版本需要執行緒支援,不推薦使用本地建構。你可以用以下方法建構編輯器:
scons platform=web target=editor
產生的二進位檔會放在 bin/
子資料夾中。通常來說會依照下列命名慣例:
關於網路伺服器的要求,請參考:ref:匯出頁面 <doc_javascript_export_options>。
小訣竅
Godot 儲存庫包含一個「託管本機 Web 伺服器的 Python 腳本 <https://raw.githubusercontent.com/godotengine/godot/master/platform/web/serve.py>」。這可用於在本地測試網頁編輯器。
編譯編輯器後,提取在「bin/」資料夾中建立的 ZIP 存檔,然後在 Godot 儲存庫根目錄中執行以下命令:
# You may need to replace `python` with `python3` on some platforms.
python platform/web/serve.py
這將提供 bin/
資料夾的內容並自動開啟預設的 Web 瀏覽器。在打開的頁面中,存取“godot.tools.html”,您應該能夠通過這種方式測試 Web 編輯器。
請注意,對於生產用例,不應使用此基於 Python 的 Web 伺服器。相反,您應該使用已建立的 Web 伺服器,例如 Apache 或 nginx。