React应用部署至GitHub Pages与Netlify的问题求助(含本地npm包)
部署React TS作品集到GitHub Pages/Netlify的问题解决
一、GitHub Pages部署后空白+JS启用提示问题
- 核对
package.json的homepage字段:你的仓库是用户主页仓库(kumar-nilesh-101.github.io),必须设为"homepage": "https://kumar-nilesh-101.github.io",路径错误会导致资源加载404,触发JS未启用的提示。 - 确认部署脚本配置:
package.json的scripts里要添加:
同时确保已安装"predeploy": "npm run build", "deploy": "gh-pages -d build"gh-pages依赖:npm install gh-pages --save-dev。 - 检查GitHub Pages设置:仓库的Settings → Pages里,部署来源选择
gh-pages分支、根目录,避免选错分支或文件夹。 - 本地预验证:先执行
npm run build生成生产包,再用serve -s build启动本地服务,确认页面能正常显示,排除构建本身的问题。 - 查看浏览器控制台:打开部署后的页面按F12,在Network标签里检查JS/CSS文件是否404,这是触发空白的最常见原因,对应调整
homepage即可。
二、Netlify部署时找不到本地修改的react-chrono包
- 确保本地包文件已提交到GitHub:你自定义的
react-chrono构建产物文件夹要加入仓库,别被.gitignore排除。比如如果放在项目根目录的local-packages/react-chrono,要确保这个文件夹在GitHub仓库中可见。 - 修正依赖声明:
package.json里的react-chrono依赖要写成本地路径,示例:
路径要和仓库里的实际位置完全对应,Netlify会根据这个路径读取本地包。"react-chrono": "file:./local-packages/react-chrono" - 避免使用
npm link:本地开发用npm link没问题,但Netlify构建环境中没有这个链接关系,必须用file:格式的依赖声明。 - 检查本地包的
package.json:确保里面的main字段指向正确的构建入口,比如"main": "dist/index.js",否则Netlify找不到包的入口文件。 - 新增Netlify构建前置脚本:如果需要在Netlify上重新构建本地包,可以在
package.json里添加:
这样Netlify构建主项目前会先构建本地包,确保产物为最新状态。"scripts": { "prebuild": "cd ./local-packages/react-chrono && npm install && npm run build" }
内容的提问来源于stack exchange,提问作者Nilesh Kumar
相关产品推荐
相关产品推荐

