NExt JS v11.1.2 Build issues - TypeError:c.props.href.startsWith

bmvo0sr5  于 2023-05-22  发布在  其他
关注(0)|答案(3)|浏览(128)

我将一个小项目升级到Next 11.1.2,但在部署到Vercel时遇到了问题。
我可以在本地运行构建没有问题,但在将getServerProps添加到每个页面之前确实有相同的问题,并给出如下相同的错误。但在Vercel上,它会在“/”上出现错误,导致服务器崩溃。我知道这是指一个href标签的地方(我意识到我必须向您展示整个代码库挖掘正确),但有没有人知道一种方法来调试这个问题,因为它有点通用。或者你以前见过并解决过?
我可以看到问题在头的某个地方。

2021-10-08T10:07:17.293Z    ecec99d6-6889-4855-9178-b2303c450259    ERROR   TypeError: c.props.href.startsWith is not a function
    at /var/task/.next/server/chunks/859.js:785:29
    at Array.some (<anonymous>)
    at /var/task/.next/server/chunks/859.js:783:87
    at /var/task/node_modules/react/cjs/react.production.min.js:17:388
    at O (/var/task/node_modules/react/cjs/react.production.min.js:16:230)
    at O (/var/task/node_modules/react/cjs/react.production.min.js:17:44)
    at Object.P [as map] (/var/task/node_modules/react/cjs/react.production.min.js:17:355)
    at Head.makeStylesheetInert (/var/task/.next/server/chunks/859.js:782:36)
    at Head.render (/var/task/.next/server/chunks/859.js:839:23)
    at d (/var/task/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:35:231)
2021-10-08T10:07:17.294Z    ecec99d6-6889-4855-9178-b2303c450259    ERROR   TypeError: c.props.href.startsWith is not a function
    at /var/task/.next/server/chunks/859.js:785:29
    at Array.some (<anonymous>)
    at /var/task/.next/server/chunks/859.js:783:87
    at /var/task/node_modules/react/cjs/react.production.min.js:17:388
    at O (/var/task/node_modules/react/cjs/react.production.min.js:16:230)
    at O (/var/task/node_modules/react/cjs/react.production.min.js:17:44)
    at Object.P [as map] (/var/task/node_modules/react/cjs/react.production.min.js:17:355)
    at Head.makeStylesheetInert (/var/task/.next/server/chunks/859.js:782:36)
    at Head.render (/var/task/.next/server/chunks/859.js:839:23)
    at d (/var/task/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:35:231) {
  page: '/'
}
RequestId: ecec99d6-6889-4855-9178-b2303c450259 Error: Runtime exited with error: exit status 1
Runtime.ExitError
0yycz8jy

0yycz8jy1#

我把href={require(“public/favicon.ico”)}改成了href="/favicon.ico”,现在可以用了。
我不知道为什么作为一个新的建设工程与要求。所以我找不到什么地方有矛盾。

c2e8gylq

c2e8gylq2#

Spirconi的回答指引我走上了正确的方向。
麻烦的来源是favicon的href。在我的特殊情况下,我用CMS(sanity.io)填充favicon的href,生成该资源的函数创建了一个对象(出于某种原因,我仍然不明白),可以很好地用于<img />标记中的src。我不得不显式地为该资源生成一个URL,它工作了。
如果任何Sanity用户弹出在这里,这可能会有所帮助:
不工作(但适用于<img />中的src)

<link rel="shortcut icon" type="image/png" href={`${builder.image(my_resource_id)}`}/>

适用于favicon链接的href:

<link rel="shortcut icon" type="image/png" href={`${builder.image(my_resource_id).url()}`}/>

我已经处理了好几天了,谢谢!

3b6akqbq

3b6akqbq3#

问题可能出在某些写得不好的href中

相关问题