youtube clone 问题合集

Firebase CLI Login Failed

…request was rejected or an error occurred…

terminal 上输入firebase login之后,等待连接后浏览器上显示
firebase cli login

解决方法

设置 http_proxy 和 https_proxy

1
2
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890

注意:这样修改是暂时的,结束 terminal 就会失效

https://github.com/firebase/firebase-tools/issues/155

如果不生效的话,可以用 clash 的 tun 模式。

npm 安装卡住

1
npm config set registry https://registry.npmmirror.com

clash 的 tun 模式下安装 firebase-admin 会失败,需要恢复默认:

1
npm config delete registry

https://docs.npmjs.com/cli/v7/commands/npm-config

next 14 部署报错 useSearchParams()

useSearchParams() should be wrapped in a suspense boundary at page “/watch”. Read more: https://nextjs.org/docs/messages/missing-suspense-with-csr-bailout

根据文档,原来出错的页面用到了 useSearchParams()

1
2
3
4
5
6
7
8
9
10
export default function Watch() {
const videoPrefix = "";
const videoSrc = useSearchParams().get("v");
return (
<div>
<h1>Watch Page</h1>
{<video controls src={videoPrefix + videoSrc} />}
</div>
);
}

把用到 useSearchParams()的部分,作为一个 component 整体全都放到 Suspense 里面可以解决。

修改成以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function VideoWatch() {
const videoPrefix = "";
const videoSrc = useSearchParams().get("v");
return (
<div>
<h1>Watch Page</h1>
{<video controls src={videoPrefix + videoSrc} />}
</div>
);
}

export default function Watch() {
return (
<Suspense>
<VideoWatch />
</Suspense>
);
}

youtube clone 问题合集
https://hexwhat.top/2024/07/14/youtube-clone-error-sum/
作者
Wynn
发布于
2024年7月14日
许可协议