最近我开始使用 ReactJs 和 HTML 编写飞行模拟器。我一直在使用 GitHub Codespaces 开发模拟器。为了查看模拟器,我启动了一个本地主机,一切正常。但是当我将同样的东西部署到 GitHub 页面或将其托管在任何网站上时,什么都没有出现。只是一个空白的白屏。即使我使用了完全相同的代码。此代码适用于每个编码环境(VsCode、GitHub Codespaces、StackBlitz、Replit)。我的代码可以在https://github.com/abingandabong/abingandabong.github.io找到
这是因为该 sim 的代码超过 2000 行。
发生此错误的原因是,最终项目中的 HTML 文件尝试加载
./main.jsx
,这是一个 JSX 文件,而不是 JS 文件。为了将页面托管在其自己的 .github.io 子域中,它需要访问输出的静态构建的 .js 文件,并将 JSX 转换为 JS。您的 package.json 显示您正在运行 Vite,因此您需要运行
vite build
或执行您的npm build
脚本,并确保您的输出 HTML 文件指向构建的 JS 文件,而不是源 JSX 文件。GitHub repo 配置中还有一个设置,可以让您指向一个子文件夹作为托管项目的根目录,因此如果该构建将您的应用程序放在子文件夹中,请将 repo 指向该子文件夹,确保所有资产都在该新文件夹内(相对于您从中加载它们的位置),然后它就可以工作了。