在nextjs中,“ / api”路由的代码是否在任何时候都在浏览器中结束?如果是这样,有没有办法强制仅在服务器端执行?

问题描述 投票:0回答:1

我现在才意识到有关nextjs env vars here的这种行为,这与通常设置nodejs应用程序的方式不同:

注意:。env文件应包含在您的存储库中,并且.env * .local应该位于.gitignore中,因为这些文件旨在忽略了。将.local文件视为秘密的好地方,并且非本地文件作为默认设置的好地方。

因此,我考虑将自己限制为使用仅在构建时可用的机密,并在“后端” /api路由中使用。

但是/api路由甚至表现得像真实的后端吗?由于nextjs是SSR (仅在必要时)>(?),我认为此/ api代码也可以在浏览器中结束,因此公开了秘密吗?有没有一种方法可以强制代码仅在服务器端而不在浏览器中运行?我是SSR概念的新手。我的“真实”后端不会有一段时间可用。这不是一个非常重要的秘密,但仍然是。谢谢。

我现在在这里意识到有关nextjs env vars的这种行为,这与通常设置nodejs应用程序的方式不同:注意:.env文件应包含在您的存储库中,而.env *...。

environment-variables next.js server-side-rendering
1个回答
1
投票

API路由不会最终出现在客户端捆绑包中,因此您在/pages/api中放置的任何代码都不会对用户隐藏。这些路由只能在服务器环境中运行。

© www.soinside.com 2019 - 2024. All rights reserved.