web-dev-qa-db-fra.com

Y a-t-il quelque chose dans Node.js comme un échafaudage dans Rails?

Existe-t-il un outil ou un cadre dans Node.js qui vous permet de créer une table dans la base de données et de générer automatiquement des API RESTful comme Rails?

Merci beaucoup!

31
user2440712

Je suppose que cela dépend de ce que vous voulez:

  • Génération de code de style Rails (où il génère pour vous du code que vous pouvez modifier)
  • Style semi-magique de Django où les formulaires d'administration peuvent être dérivés des champs de votre schéma de table/document.
  • vous voulez dire générer une API pour ces champs dans la base de données, ala ce que raisin fait pour Ruby - vous faites une configuration et convertissez les données en JSON et les retransmettez le fil est pris en charge pour vous
  • Vous avez un nouveau projet et vous cherchez un framework avec l'une de ces trois caractéristiques

Pour les trois premières options, il existe déjà quelques questions connexes SO:

Il y a quelques réponses impressionnantes dans cet ensemble de liens, notamment:

Pour la dernière option - un framework Node.js de développement Web rapide et avisé qui fournit un bon support API, il y a quelques options:

  • La réponse de @ abject_error, dans cette question, à propos de Sails
  • Geddy <- fournit automatiquement des versions .json des données spécifiées par votre contrôleur (selon la demande, il utilise ces données pour afficher des vues HTML ou crée une représentation JSON)
  • Il y a un joli diaporama sur Comment faire rapidement REST avec CompoundJS , donc CompoundJs peut convenir à vos goûts.

Au départ, je les ai laissés de côté car je pensais que vous aviez peut-être un projet existant, ou que vous ne vouliez pas utiliser un cadre d'opinion, mais je les ai ajoutés parce que pourquoi pas.

28
RyanWilcox

SailsJS ( https://github.com/balderdashy/sails ) est exactement ce que vous recherchez. Il utilise le module Waterline pour simuler ActiveRecord. Il vous suffit de définir une ressource et elle créera automatiquement des points de terminaison JSON pour toutes les actions RESTful et rendra également les points de terminaison compatibles avec les connexions Socket.io.

Il est construit sur Express, vous pouvez donc utiliser n'importe quel middleware Connect pour l'étendre. AFAIK c'est le meilleur NodeJS framework pour construire des backends API.

La définition d'une nouvelle ressource est aussi simple que sails generate user. Cela créera les fichiers de modèle et de contrôleur appropriés, que vous pourrez ensuite modifier.

Gardez à l'esprit que Sails a été construit avec des banques de données sans schéma à l'esprit, donc son support principal est pour MongoDB, pas MySQL. Je ne sais pas dans quelle mesure (le cas échéant) il prend en charge les bases de données SQL.

15
abject_error