You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Astro SSR项目Netlify部署失败:预渲染静态路由报错

Astro SSR模式在Netlify构建报错:Cannot read properties of undefined (reading 'length')

我有一个Astro项目,未开启SSR时在Netlify部署正常。切换到SSR模式后执行新构建时出现错误,报错信息为Cannot read properties of undefined (reading 'length'),具体构建日志如下:

9:48:06 AM: 08:48:06 AM [build] output target: server
9:48:06 AM: 08:48:06 AM [build] deploy adapter: @astrojs/netlify/functions
9:48:06 AM: 08:48:06 AM [build] Collecting build info...
9:48:06 AM: 08:48:06 AM [build] Completed in 1.47s.
9:48:06 AM: 08:48:06 AM [build] Building server entrypoints...
9:48:09 AM: 08:48:09 AM [build] Completed in 3.11s.
9:48:09 AM: 
9:48:09 AM:  building client 
9:48:10 AM: Completed in 1.30s.
9:48:10 AM: 
9:48:10 AM: 
9:48:10 AM:  prerendering static routes 
9:48:10 AM:  error   Cannot read properties of undefined (reading 'length')
9:48:10 AM:   File:
9:48:10 AM:     /opt/build/repo/node_modules/astro/dist/core/build/generate.js:66:20
9:48:10 AM:   Code:
9:48:10 AM:     65 |   const ssrEntryURL = new URL("./" + serverEntry + `?time=${Date.now()}`, outFolder);
9:48:10 AM:     > 66 |   const ssrEntry = await import(ssrEntryURL.toString());
9:48:10 AM:          |                    ^
9:48:10 AM:       67 |   const builtPaths = /* @__PURE__ */ new Set();
9:48:10 AM:       68 |   if (opts.settings.config.output === "server") {
9:48:10 AM:       69 |     for (const pageData of eachPrerenderedPageData(internals)) {
9:48:10 AM:   Stacktrace:
9:48:10 AM: TypeError: Cannot read properties of undefined (reading 'length')
9:48:10 AM:     at file:///opt/build/repo/.netlify/functions-internal/chunks/pages/all.bcf310be.mjs:1556:17
9:48:10 AM:     at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
9:48:10 AM:     at async Promise.all (index 0)
9:48:11 AM: Failed during stage 'building site': Build script returned non-zero exit code: 2 (https://ntl.fyi/exit-code-2)
9:48:10 AM:     at async ESMLoader.import (node:internal/modules/esm/loader:530:24)
9:48:10 AM:     at async generatePages (file:///opt/build/repo/node_modules/astro/dist/core/build/generate.js:66:20)
9:48:10 AM:     at async staticBuild (file:///opt/build/repo/node_modules/astro/dist/core/build/static-build.js:85:7)
9:48:10 AM:     at async AstroBuilder.build (file:///opt/build/repo/node_modules/astro/dist/core/build/index.js:122:5)
9:48:10 AM:     at async AstroBuilder.run (file:///opt/build/repo/node_modules/astro/dist/core/build/index.js:153:7)
9:48:10 AM:     at async build (file:///opt/build/repo/node_modules/astro/dist/core/build/index.js:37:3)
9:48:10 AM:     at async runCommand (file:///opt/build/repo/node_modules/astro/dist/cli/index.js:168:14)
9:48:10 AM:     at async cli (file:///opt/build/repo/node_modules/astro/dist/cli/index.js:203:5)
9:48:10 AM: ​
9:48:10 AM:   "build.command" failed      

我的astro.config配置如下:

import { defineConfig } from 'astro';
import netlify from "@astrojs/netlify/functions";

export default defineConfig({
  output: 'server',
  adapter: netlify()
});

同时我已在Netlify的「站点设置 > 构建与部署 > 后处理 > 预渲染」中启用了预渲染功能。多次查阅Astro和Netlify文档,未发现配置遗漏,请求帮助排查该问题。


内容的提问来源于stack exchange,提问作者RogerX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 23:42:04