reactjs - gh-pages 未从 index.html 加载 bundle.js
问题描述
我已经建立了一个 React 项目webpack
。我想把这个项目上传到我在 Github 上的用户站点上。我创建了具有 2 个分支的用户站点存储库master
- 和gh-pages
. 项目结构如下:
dist
index.html
bundle.js
index.html
该Package.json
文件具有以下用于构建和部署的命令。
"start": "webpack-dev-server --open --mode development --content-base ./dist",
"test": "npm run lint && npm run security-check && npm run bundle",
"predeploy": "npm run build",
"deploy": "gh-pages -d dist"
在开发模式下,项目运行良好。HtmlWebPackPlugin
正在将 bundle js 脚本标签插入到dist/index.html
. 为了部署到 gh-pages,当我运行 deploy 命令时,代码会在分支 gh-pages 中正确更新。我可以dist
在那里看到最新的文件夹文件。
但是用户网站给我404: not found error
的是bundle.js
.
解决方案
因此,在对 gh-pages 进行了一些研究之后,我找到了解决方案。对于用户页面,Github 只允许从分支发布。master
所以index.html
和bundle.js
应该存在于 master 分支中,它们将被用作静态资源。
与其他应用程序一样,这有点令人困惑,您可以选择从 master 或 gh-pages 分支构建,或者从 /docs 目录构建。
所以我创建了一个development
分支,我的源代码就在那里。我修改了部署命令,将代码从development
分支上传到master
.
"deploy": "gh-pages -d dist -b master"
推荐阅读
- python - 使用 3D 绘图沿 y 轴绘制直线
- reactjs - 为什么我的引导模式没有显示正确的信息?
- javascript - 函数声明如何影响提升?
- python - 解析 YAML 文件中的单个密钥
- arangodb - 在 arangodb 中存储日期的最佳方法
- google-apps-script - 3Commas API 和谷歌电子表格
- node.js - 如何使用 node_mailer 发送 gzip 文件
- python - 如何在python中注释掉一行代码?
- spring - Spring TransactionManager 行为与 Spring Data 和 JpaRepository
- javascript - 使用 WP 辅助功能插件的 Wordpress 验证错误