在 Next.js(或 React)中,数据库通常用于存储图像等媒体文件(例如 cloudinary 或 aws),现在,我的问题是,是什么阻止我们将图像作为静态资产存储在公共文件夹中并从那里访问它们在我们的应用程序中(来自客户端/服务器组件)?是不是不能轻易添加/删除,或者静态资源的存储空间有限?谢谢
您可以从公共文件夹提供静态资源,而无需将它们导入 JavaScript 代码中。放置在公共文件夹中的任何文件都将充当应用程序根目录中的静态资产。
没有什么可以阻止您将图像作为静态资源存储在公共文件夹中,并在 Next.js 应用程序中从那里访问它们。但是,有一些限制需要考虑:
存储空间有限: 公共文件夹适用于小型静态资源,例如图像、图标和字体。如果您有大量图像或其他媒体文件,将它们全部存储在公共文件夹中可能不切实际。
有限控制: 当您将图像作为静态资源存储在公共文件夹中时,您对它们的控制有限。如果不手动修改公共文件夹中的文件,则无法轻松添加或删除图像。
有限优化: 当您将图像作为静态资产存储在公共文件夹中时,您无法利用 NextJS 内置图像优化功能。 NextJS 为公共文件夹中存储的图像提供自动图像优化,但您需要手动优化其他地方存储的图像。
出于这些原因,通常建议使用专用媒体存储服务(例如 AWS S3)在 NextJS 应用程序中存储图像和其他媒体文件。