我的网站应用程序将React用于前端,而我决定在ExpressJS或Flask.py之间作为后端。无论哪种方式,我都知道React具有API提取功能,但也有其他后端专用框架。我的问题是,按惯例,API提取逻辑是前端还是后端的一部分?
答案 0 :(得分:3)
在某些情况下,要求或更喜欢在后端进行API提取:
当您需要使用安全凭据来访问API时,这些凭据需要保密。
当API不允许跨源访问,因此您的前端无法直接访问它。
当您需要对API结果进行一些处理,并且希望将处理算法保留为商业秘密时(请注意,在前端完成的所有处理均可用供任何编码人员查看)。前端代码中没有秘密。
前端设备可能没有合适的资源(CPU,内存等)来处理API结果时。小型专用设备尤其如此。
当您不希望前端设备必须消耗电池电量来定期访问API时。如果您定期轮询某些API以查找更改,则可能尤其如此。在这种情况下,您可能希望后端进行轮询,而只是让前端知道何时有实际操作。
如果出于某些原因需要对访问API进行一些集中的性能管理,例如结果缓存或请求限制。
当所有前端设备可能没有对API服务器的正确网络访问权限。
如果将API访问放在后端没有明显的好处,那么(对于您的服务器)扩展性可能更大,以使前端能够尽其所能。