以编程方式在 nodeJS 中添加指向 Express 的路径

Programatically add paths to Express in nodeJS

本文关键字:Express 路径 添加 编程 方式 nodeJS      更新时间:2023-09-26

我想知道是否有一种方法可以动态(不确定是否正确)将路径添加到nodeJS。我的意思是,我想允许用户从正在运行的程序中添加更多路径。一个笨拙的版本是简单地将路由放在一个文件中,并使用一个 NPM 库,当它注意到应用程序中的文件已更改时重置服务器(我忘记了 NPM 数据包的调用)。即使是半生产就绪的东西,这也不是一个可行的方法。

有什么想法吗?

编辑:周末项目是服务器即服务。想象一下,您正在制作原型和应用程序,或者参加黑客马拉松,并且您需要一台带有数据库的服务器来存储您的数据。此时的问题可能是您不知道服务器端,或者您没有时间进行设置。因此,您可以对这个项目做的是,指定表/数据库名称,以及GET,POST,PUT,DELETE的路径以及要放入的数据类型,它将为您提供实际的URL和任何身份验证内容。

所以问题是,当用户想要添加路径时,我该如何实际操作?

我想象它的工作方式如下:

在/apps 上发布,正文 {name: "myFirstDB", fields: [{name: "id", type: "String"},

{name: "age", type: Integer}] 为我的用户 (normanjoyner) 设置一个名为 myFirstDB 的数据库,其中包含字段:id 和 age。在快速路由的正文中,使用指定的架构创建新的 mongoDB 集合。

在/apps/:username/:d bname 上发布,正文为 {id: "1", 年龄: 21} 将向数据库添加一个条目。(也可以接受对象数组一次添加多个条目)

PUT on/apps/:username/:d bname?id=1 body {id: "1", age: 22} 将更新与查询字符串参数匹配的特定条目(请注意,如果您只打算更新一个条目,查询字符串参数应该是唯一的 ID)

GET on/apps/:username/:d bname 返回指定数据库的所有条目

GET on/apps/:username/:d bname?id=1 仅返回与查询字符串参数匹配的条目

删除/apps/:用户名/:d bname 将删除整个数据库和架构

删除/apps/:username/:d bname?id=1 将仅删除与查询字符串条件匹配的某些行

你明白了。您当然可以对此进行扩展,并希望满足您的所有需求。

希望这有帮助!

如果您正在寻找用例的实现,请查看 Json Feed Server。它执行你对应用的大部分预期。

希望这有帮助。