【问题标题】:Does code within NextJS API feature exposed to client sideNextJS API 功能中的代码是否向客户端公开
【发布时间】:2020-09-02 14:31:54
【问题描述】:

众所周知,nextjs API routes 提供了一个简单的解决方案来使用 Next.js 构建您的 API。并且文件夹 pages/api 中的任何文件都映射到 /api/* 并将被视为 API 端点而不是页面。

我只有一个疑问:页面/api 中的代码是否公开?我的意思是,我可以在那里构建一些逻辑,其中包含一些必须隐藏的键或一些 MySQL 连接吗?

【问题讨论】:

  • 您的意思是“我的 Next.js 应用程序的哪些部分对最终用户可见?”
  • 是的。什么部位?我看到文件夹pages/api 就像一个中间件。那里的代码对客户端可见吗?
  • 这真的取决于什么是服务器端与客户端。如果它是客户端,您将能够看到它。服务器端元素不应该是可见的,但如果你 import 不正确,可能会意外包含在内。

标签: mysql next.js


【解决方案1】:

/api 是否以任何方式暴露给这个世界我不确定,但根据Next documentation,“它们只是服务器端的捆绑包。”

不过,一般来说,对于您想要运行的任何键/sql 连接,我会将其放入您机器上的 .env.local 文件中,该文件会被 git 忽略且永远不会上传,并且如果您在 Vercel 上托管,然后使用它们的环境变量来存储敏感信息。

您可以在以下位置找到环境变量: {您的帐户}/{项目}/设置/环境变量

附言同样来自 Next.js 文档,我认为您会发现 getStaticProps 上的这一点很有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-11
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    相关资源
    最近更新 更多