Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 除了API之外,我应该为前端/后端使用两个单独的项目,还是将它们合并为一个?_Javascript_Node.js_Mongodb_Express_Vue.js - Fatal编程技术网

Javascript 除了API之外,我应该为前端/后端使用两个单独的项目,还是将它们合并为一个?

Javascript 除了API之外,我应该为前端/后端使用两个单独的项目,还是将它们合并为一个?,javascript,node.js,mongodb,express,vue.js,Javascript,Node.js,Mongodb,Express,Vue.js,我有几个问题,希望能有一些答案 因此,我用express&mongo创建了一个后端节点服务器,它在网络上运行特定任务,并以循环的方式将其保存在数据库中。我还添加了一个带有express&bootstrap的管理页面。这很好。当时我需要的是一个前端页面——为此我选择了VueJS。我出于多种原因分别启动了该项目。我觉得这会更容易开始,因为我以前没有任何前端框架经验,后端项目是用typescript编写的,现在我更愿意使用普通的ES6JS 现在-该网站已经取得了一些相当不错的进展,我需要与数据库建立连

我有几个问题,希望能有一些答案

因此,我用express&mongo创建了一个后端节点服务器,它在网络上运行特定任务,并以循环的方式将其保存在数据库中。我还添加了一个带有express&bootstrap的管理页面。这很好。当时我需要的是一个前端页面——为此我选择了VueJS。我出于多种原因分别启动了该项目。我觉得这会更容易开始,因为我以前没有任何前端框架经验,后端项目是用typescript编写的,现在我更愿意使用普通的ES6JS

现在-该网站已经取得了一些相当不错的进展,我需要与数据库建立连接,并在后端项目中使用一些已经实现的功能

这就产生了一个问题:

  • 我应该创建新函数和/或创建并使用API吗?mongodb是否会有任何问题,通过两个不同的进程访问和写入mongodb?如果我从已经存在的后端逻辑创建“公共”API,会不会有安全问题?(尚未编写任何API。)

  • 或者我应该利用这段时间将前端项目导入后端(也就是说将新项目转换为typescript或转换为普通ES6JS)?这会不会是一个安全风险,因为我不希望在我的前端站点中有后端逻辑

我很感激你的回答


谢谢:)

这是一个你能负担得起运行两台服务器的问题?将前端和后端分离实际上是一个很好的举措,因为它允许您为将来的目的单独扩展这些东西。就像你的后端需要更多的资源,一旦你开始迎合移动用户,或者一旦你得到更多的api调用,而你的前端服务器只需要提供ui和资产,没有更多。虽然明显的缺点是成本增加,因为您确实需要运行两台服务器而不是一台,但这在刚起步时是很困难的


我应该创建新函数和/或创建并使用API吗?

为您的后端?对api是现在在Web空间中做事情的方式,因为它可以证明您的未来,并允许以更受控和统一的方式访问您的后端(一切都通过api)。因此,如果前端还没有通过API访问数据库,我建议您重构它们

对于您对mongo的担忧,我非常肯定mongo已经具备了避免死锁的功能

至于API的安全性,我建议您检查一下


我是否应该利用时间将前端项目导入后端


如果您出于成本考虑而选择这条路,为了统一起见,我建议您重写其中一个代码库以遵守另一个代码库,尽管您可以在空闲时这样做(我们不能让您浪费所有宝贵的时间来重写已经可以正常工作的代码)。这并不是一个真正的安全问题,因为后端代码并没有被发送到前端让所有用户都能看到。然而,每当我使用react时,我总是为前端和后端创建单独的项目。我发现把两者分开比较“干净”

我看不出你有什么理由从typescript转录整个项目。只需让前端向后端发出请求即可


如果您希望了解您的网络安全,我建议您查看。

非常感谢您的回答。我选择了独立的后端和前端。我已经准备好了api——现在我只需要通过JWT来保护它。非常感谢你的回答。我选择了独立的后端和前端。我已经准备好了api——现在我只需要通过JWT来保护它。谢谢:)