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

Neo*_*Neo 4 javascript mongodb node.js express vue.js

我有几个问题,希望得到一些答案。

因此,我使用 express 和 mongo 创建了一个后端节点服务器,它在网络上运行特定任务并将其循环保存在数据库中。我还添加了一个带有 Express 和 Bootstrap 的管理页面。效果很好。当时我需要的是一个前端页面 - 为此我选择了 VueJS。由于多种原因,我单独启动了该项目。我觉得这样会更容易上手,因为我之前没有任何前端框架经验,而且后端项目是用 typescript 编写的,我现在宁愿使用普通的 es6 JS。

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

这就产生了一个问题:

  • 我应该创建新函数和/或创建和使用 API 吗?如果两个不同的进程访问和写入mongodb,会出现什么问题吗?如果我从现有的后端逻辑创建“公共”api,是否会出现安全问题?(还没有写任何api。)

  • 或者我应该利用这段时间将前端项目导入后端(也意味着将 new 翻译为 typescript 或切换到普通的 ES6 JS)?这是否会带来安全风险,因为我不想在我的前端站点中使用后端逻辑。

我很感激任何答案!

谢谢 :)

Mar*_*aru 7

这是一个问题:你能负担得起运行两台服务器吗?考虑到微服务的所有内容,将前端与后端分开实际上是一个很好的举措,因为它允许您单独扩展这些内容以供将来使用。就像您的后端需要更多资源一样,一旦您开始满足移动用户的需求,或者一旦您收到更多的 api 调用,而您的前端服务器只需要提供 ui 和资产,仅此而已。尽管明显的缺点是成本增加,因为您确实需要运行两台服务器而不是一台,但这在您刚开始时会很困难


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

对于你的后端?是的。API 是现在在网络空间中执行操作的方式,因为它可以为您提供未来的证明,并允许以更受控和统一的方式访问您的后端(一切都通过 API 进行)。因此,如果您的前端尚未通过 API 访问数据库,我建议您重构它们以实现此目的。

对于您对 mongo 的担忧,我很确定 mongo 已经具备避免死锁的功能。

至于 API 的安全性,我建议查看JWT


我应该利用时间并将前端项目导入后端吗

如果您出于成本考虑而走这条路,我建议您为了一致性而重写其中一个代码库以符合另一个代码库,尽管您可以在闲暇时这样做(我们不能让您浪费所有宝贵的时间重写已经存在的代码)工作得很好)。这实际上并不是一个安全问题,因为后端代码不会发送到前端供所有用户查看