我正在学习NextJS,并试图确定如何用一个干净、安全的体系 struct 来布局我的项目.但是,我不确定在哪里存储包含潜在敏感数据的代码(即连接到数据库、访问文件系统等).我读过文件,但我仍然不确定这一问题.
在我的项目布局中,我有两个与这个问题相关的目录:我添加的顶级/lib
目录和每个NextJS项目中烘焙的/pages/api
目录.
据我所知,/pages/api
从未见过客户端,因此对于敏感代码是安全的.它只能用作发布、修补、删除等操作的地方.例如,当您从表单向服务器发出post请求时,使用/pages/api
.您可以从任何地方通过该路径调用api,例如:表单组件、/lib
文件夹、/pages
中的页面、外部第三方api——无论在哪里.
另一方面,顶级/lib
目录是一个存放样板代码的地方,执行繁琐的操作,如按字母顺序排序博客帖子、进行数学计算等.这不一定是"机密"或敏感的——只是冗长而烦人的代码./lib
目录将始终被客户端even if it's code that's only called by a server-side method such as 102看到.
简而言之,任何远程敏感的代码都应该作为post、补丁、put等请求发送到/pages/api
目录,任何不敏感的长代码/冗长代码都应该重构到/lib
目录.
我有这个吗?