使用gulp部署项目到gh-pages时报Cannot read property '0' of null错误
报错排查与解决步骤
- 先删除gulp-gh-pages的本地缓存目录
该报错绝大多数场景是插件自动生成的缓存目录.publish损坏导致,执行对应系统的删除命令即可:# macOS/Linux rm -rf .publish # Windows cmd rmdir /s /q .publish - 确保deploy执行前dist目录有完整构建产物
你当前的deploy任务没有前置依赖,若直接执行npm run gulp deploy时dist目录为空、或未提前执行build任务生成生产文件,gulp.src匹配不到任何资源就会触发该报错。可以修改deploy任务绑定前置build任务,避免手动漏执行构建:// gulp 4.x 写法,将原有deploy任务替换为下面的内容,注意把'build'改成你实际的生产构建任务名 gulp.task('deploy', gulp.series('build', function () { return gulp.src("./dist/**/*") .pipe(deploy({ remoteUrl: "https://github.com/Picke1id/idp-responsive-portfolio.git", // 普通项目仓库的GitHub Pages推荐部署到gh-pages分支,无需占用源码分支master branch: "gh-pages" })) })) - 检查依赖版本兼容性
如果你使用的是gulp 4.x版本,旧版gulp-gh-pages会存在适配问题,重装最新版本即可:npm uninstall gulp-gh-pages npm install gulp-gh-pages --save-dev - 排除CodyHouse干扰的方法
单独执行生产构建命令,完成后打开dist目录确认所有静态资源完整可用,只要dist目录内容正常,CodyHouse的gulp任务就不会影响部署流程。 - 额外说明:你不需要将dist目录提交到源码分支,gulp-gh-pages会自动读取本地dist内容推送到部署分支,可将dist重新加入
.gitignore减少仓库冗余。
内容的提问来源于stack exchange,提问作者Picke1id
相关产品推荐
相关产品推荐

