Netlify GitHub集成构建Next.js预览站点出现语法错误求助
解决Netlify部署Next.js预览站点的控制台错误
核心错误分析
控制台中大量Uncaught SyntaxError: Unexpected token '<'错误,本质是浏览器请求JS资源时,服务器返回了HTML内容(通常是404页面),而非预期的JS文件。
排查与修复步骤
- 查看Netlify部署日志,确认Next.js构建过程是否完整成功,若构建失败会导致部署产物缺失,引发资源加载错误
- 核对Netlify的构建配置:
- 构建命令:确保是
next build(使用Netlify Next.js运行时)或next build && next export(静态导出场景) - 发布目录:对应设置为
.next(运行时)或out(静态导出),目录配置错误会导致Netlify无法正确找到资源文件
- 构建命令:确保是
- 检查Next.js的
assetPrefix配置,若设置了自定义前缀,需确保Netlify的站点域名或路径与之匹配,避免资源路径错误 - 排查Netlify的重写/重定向规则,错误的规则会导致JS请求被错误导向到HTML页面
次要CSP错误修复
控制台中的CSP报错是因为Segment的请求地址cdn.segment.com不在当前connect-src允许列表中,需修改CSP规则:
- 在Netlify的
netlify.toml或站点设置的HTTP Headers中,将*.segment.com添加到connect-src的允许列表里
原始错误日志
webpack-211c438de79acdca.js:1 Uncaught SyntaxError: Unexpected token '<' framework-715a76d8b0695da7.js:1 Uncaught SyntaxError: Unexpected token '<' main-e0ddca6ca271803b.js:1 Uncaught SyntaxError: Unexpected token '<' _app-029eabc97183f576.js:1 Uncaught SyntaxError: Unexpected token '<' 681-e3150cec4c2411ca.js:1 Uncaught SyntaxError: Unexpected token '<' index-6ab295bf1b8cd412.js:1 Uncaught SyntaxError: Unexpected token '<' _buildManifest.js:1 Uncaught SyntaxError: Unexpected token '<' _ssgManifest.js:1 Uncaught SyntaxError: Unexpected token '<' [Report Only] Refused to connect to 'https://cdn.segment.com/v1/projects/PzoD1qlC1wpvDGhNckresPQM3zcX8I1s/settings' because it violates the following Content Security Policy directive: "connect-src 'self' data: *.amazonaws.com *.bugsnag.com *.firebaseio.com *.giphy.com *.launchdarkly.com *.netlify.com *.segment.io netlify-cocoon.netlify.app netlify-slapp.netlify.app netlilink.netlify.app ws://localhost:3000 wss://*.services.netlify.com".
内容的提问来源于stack exchange,提问作者danhemerlein
相关产品推荐
相关产品推荐

