javascript - 组织后端(Node)流程和使用部分流程的前端(Vue/Nuxt)的最佳方式

标签 javascript node.js express vue.js nuxt.js

我有一些小型 Node 应用程序执行一些基本的操作,例如检查内容和填充我的数据库(由 CRON 触发)。在我的 Nuxt 应用程序中,我需要使用这些 Node 应用程序中的部分内容。组织它的最佳方式是什么?我应该将它们分开还是将它们与我的 Nuxt 应用程序融合?我是否从这些 Node 应用程序中复制我需要的内容并在 Nuxt 中对其进行调整,是否使用服务器端中间件在我的 Nuxt 项目中添加这些 Node 应用程序,或者我是否使用 Express 创建我的 Nuxt 应用程序并使用/server/index.js 以某种方式在其中添加我的 Node 应用程序?

我们举个例子。您有一个 Node 应用程序,可以每小时检查一些数据并填充数据库。在 Nuxt 应用程序中,您有一个显示数据库内容的页面,但您首先要确保自上一小时以来数据库中没有添加任何新内容。我必须在每个 Nuxt 页面中运行的代码与 Node 应用程序的代码相同(检查并填充数据库)。在两个地方使用两次相同的代码看起来有点愚蠢(并且难以维护和更新)。但我不确定如何让这个 Node 应用程序在我的 Nuxt 应用程序中每小时运行一次。任何建议将不胜感激

最佳答案

这是一个控制流程,可以帮助您思考设计此 CRON 微服务。有很多方法可以做到这一点,这可能不是最好的方法,但我认为它适合您的用例。

  1. 您的服务器中有一个 services 目录(也可以称为中间件)。
  2. 包含一个 cron.js 文件,其中包含任务运行程序的逻辑。
  3. cron.js 中,从 Node 向 Vue 发出预定响应,例如 res.JSON({message: 'checkNewData'}) 等 JSON 关键字。这将被称为“服务器发送事件”。服务器发送的事件只是在 Node 环境中按照定义的时间表自主发生的事件。
  4. 在 Vue 的根级别 App.vue 中,使用 created() 钩子(Hook)注册一个事件监听器,该监听器将监听服务器发送的 ” checkNewData" JSON 对象。当此事件监听器听到 JSON 响应时,它应该触发 Vue 检查适当的组件,打包任何新数据,并通过 postput 将其发送到数据库> http 调用,具体取决于您是要添加新数据,还是用新数据替换旧数据。

此配置将为您提供一个用于自动更新的闭环系统。下一个挑战是使此操作针对特定于客户端,但一旦您开始工作,就需要担心这一点。同样,其他人可能对此有不同的方法,但这就是我处理流程的方式。

关于javascript - 组织后端(Node)流程和使用部分流程的前端(Vue/Nuxt)的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274342/

相关文章:

javascript - 使用未定义的 webpack 类捆绑 js 文件

node.js - 在 Jenkins 中运行 grunt 时无法解析的 NodeJS 安装程序

javascript - 为 Redis 运行 Lua 脚本的 Node 。如何将排序集从 Lua 脚本返回到 Node?

javascript - 无权承担所提供的角色

regex - 使用 fs 在 multer 中重命名上传的图像

javascript - 使用 NodeJs 解析网站

javascript - 有没有办法在一个页面上加载多个谷歌翻译小部件

javascript - toUpperCase() 映射时出现问题

node.js - 将使用alasql创建的sql表从服务器(node.js)传递到客户端(ejs)

node.js - ExpressJS 删除连接