如何在NextJS 13中限制对服务器端特定文件的访问?

ej83mcc0  于 2023-05-28  发布在  其他
关注(0)|答案(1)|浏览(140)

我正在使用NextJS 13,并且希望仅在服务器端存储一些常量。具体来说,我希望constants.ts中的值可以在route.ts文件中访问。我想要一个单独的constants.ts文件来存储客户端使用的常量。
是否有方法确保任意文件(例如constants.tsfoo.ts)是否只能在服务器端访问和加载?
我相信实现这一点的一种方法是使用.env.local,但我想为API密钥保留该文件。
我读了NextJS 13的文档,但我不清楚如何确保像foo.ts这样的任意文件只能在服务器端访问。

iyzzxitl

iyzzxitl1#

试试这个
1.在Next.js项目的根目录下创建一个名为server的文件夹。
2.将constants.ts文件或其他应仅服务器端的文件移动到server文件夹中。
要在您的route.ts文件或任何其他服务器端代码中访问这些服务器专用文件,您可以使用相对路径导入它们。

import { MY_CONSTANT } from '../server/constants';
// Use MY_CONSTANT in your server-side code

注意:server文件夹只是一种约定,您可以根据需要使用其他名称。重要的是将服务器专用文件放在一个单独的目录中,该目录不能从客户端包直接访问。

相关问题