如何本地运行Godot 4导出的HTML项目?
直接双击index.html使用file://协议无法运行,因为SharedArrayBuffer要求服务器必须发送跨源隔离相关的响应头。以下是几种靠谱的本地运行方案:
方法1:Python 本地服务器(适合有Python环境)
- 在Web项目根目录(和
index.html同文件夹)新建文件server.py,粘贴以下代码:
import http.server import socketserver PORT = 8000 class MyHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def end_headers(self): self.send_header('Cross-Origin-Opener-Policy', 'same-origin') self.send_header('Cross-Origin-Embedder-Policy', 'require-corp') super().end_headers() with socketserver.TCPServer(("", PORT), MyHTTPRequestHandler) as httpd: print(f"服务器已启动:http://localhost:{PORT}") httpd.serve_forever()
- 打开终端,进入该项目目录,执行命令:
- Python 3:
python3 server.py - Python 2:
python server.py(不推荐,建议用Python3)
- Python 3:
- 在浏览器访问
http://localhost:8000即可运行项目。
方法2:Node.js http-server 工具(适合有Node.js环境)
- 先全局安装http-server:
npm install -g http-server
- 进入Web项目根目录,执行启动命令:
http-server -o -c-1 --headers "Cross-Origin-Opener-Policy: same-origin" --headers "Cross-Origin-Embedder-Policy: require-corp"
- 命令执行后会自动打开浏览器,直接加载项目。
方法3:用Godot编辑器直接预览(最简便,若能打开项目)
如果还能在Godot编辑器中打开原项目,无需手动处理导出文件:
- 打开Godot 4编辑器并加载项目
- 顶部菜单选择
运行->运行项目(Web) - 编辑器会自动启动带正确响应头的本地服务器,直接在浏览器中预览项目。
关键说明
必须同时设置以下两个响应头才能启用SharedArrayBuffer:
Cross-Origin-Opener-Policy: same-originCross-Origin-Embedder-Policy: require-corp
内容的提问来源于stack exchange,提问作者fguillen
相关产品推荐
相关产品推荐

