Node.js 中是不是有类似 Rails 中的脚手架的东西? [关闭]

Posted

技术标签:

【中文标题】Node.js 中是不是有类似 Rails 中的脚手架的东西? [关闭]【英文标题】:Is there anything in Node.js like scaffold in Rails? [closed]Node.js 中是否有类似 Rails 中的脚手架的东西? [关闭] 【发布时间】:2013-06-01 21:38:34 【问题描述】:

Node.js 中是否有任何工具或框架可以让您在 DB 中创建表并像 Rails 一样自动生成 RESTful API?

非常感谢!

【问题讨论】:

查看 github.com/mcavage/node-restify 和优秀的 expressjs.com 获取 api 内容。我不知道数据库方面。我只是手动完成,但我希望有一个不错的自动化工具来为我完成! 【参考方案1】:

我想这取决于你想要什么:

Rails 样式代码生成(它为您生成可以修改的代码) Django 风格的半魔法,其中管理表单可以从表/文档架构中的字段派生。 您有一个新项目,并且正在寻找具有这三个特征之一的框架

对于前三个选项,已经有一些相关的 SO 问题:

Node.js Mongoosejs Crud scaffolding

Admin panel for Node.js and Mongoose

Is there a CRUD generator for Mongoose and Node.js and Underscore? Or a CRUD generator for a similar stack?

这组链接中有一些很棒的答案,包括:

@jsalonen's answer gathering up some tools @Dow's answer with some tools @bergie's answer about a module that exposes JugglingORM models as RESTful API routes 自动 或者,正如 @Andbdrew 在 cmets 中提到的那样,有 node-restify 您可以编写自己的生成器 - 也许您可以编写一个 Cake 任务,该任务将获取一个模板文件、执行一些 javascript 并为您的应用程序输出一个视图。我自己最近开始走这条路。当然,对于 Node.js 应用程序涉及的各种技术(不同的 ORM 选择、Javascript 前端、CSS 布局),这可能是有道理的。

对于最后一个选项 - 一个固执己见的快速 Web 开发 Node.js 框架,它提供良好的 API 支持,有几个选项:

@abject_error 的回答,在这个问题中,关于Sails Geddy How to quickly make REST APIs with CompoundJS 上有一个不错的幻灯片,所以CompoundJs 可能适合您的口味。

我最初没有考虑这些,因为我认为您可能有一个现有的项目,或者不想使用固执己见的框架,但添加它们是因为为什么不这样做。

【讨论】:

RyanWilcox,非常感谢您的回答!!!我会仔细阅读这些问题和文档。 在这里试用这个工具github.com/zhangkaiyulw/amur【参考方案2】:

SailsJS (https://github.com/balderdashy/sails) 正是您正在寻找的。它使用Waterline 模块来模拟ActiveRecord。只需定义一个资源,它就会自动为所有 RESTful 操作创建 JSON 端点,并使端点与 Socket.io 连接兼容。

它基于 Express 构建,因此您可以使用任何 Connect 中间件对其进行扩展。 AFAIK 是构建 API 后端的最佳 NodeJS framework

定义新资源就像sails generate user 一样简单。这将创建适当的模型和控制器文件,然后您可以对其进行修改。

请记住,Sails 在构建时考虑了无模式数据存储,因此它主要支持 MongoDB,而不是 mysql。我不确定它对 SQL 数据库的支持程度(如果有的话)。

【讨论】:

abject_error,非常感谢! 只是添加你可能想看看partial.js Sails (Waterline) 通过相应的适配器 100% 支持关系数据库(Postgres、MySQL)。

以上是关于Node.js 中是不是有类似 Rails 中的脚手架的东西? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

等价于 Node.js 的 Rails 控制台

Rails、redis 和 node.js 如何异步处理请求?

PHP 或 Rails 前的 Node.JS

如何从 Node.js 中的 URL 请求

Rails / execjs 找不到 Node.js

将简单的 Node.js 和 Socket.io 聊天应用程序与 Rails 应用程序连接起来(在 Heroku 上)