2016-08-29 7 views
0

Ich plane, nur Rest api mit Express js zu entwickeln, ich sah in viele Standard-Projekte. Keine von ihnen bietet Modularität. Modularität Ich meine, dass der gesamte Code, der sich auf Artikel bezieht, im Artikelordner sein muss, dann kann ich ihn per Drag & Drop ziehen.Express js modulare REST-Framework

Ich sah MEAN etwas nah daran, aber es hat clientseitige (Winkel bezogenen) Code in diesem. Ich brauche einen puren Rest api Rahmen.

+0

Können Sie bitte ein wenig genauer sein? Im Allgemeinen hast du recht, du brauchst nicht den vollen MEAN-Stack, eine einfache "Express" -App reicht aus, um eine modulare Rest-API zu bauen. Was ist deine Frage? – Jonas

+0

@Jonas Da Express js keine Best Practice zur Strukturierung Ihrer Anwendung bietet, suche ich nach einem Standardcode. Alle Entwürfe, die ich gesehen habe, sind nicht modular aufgebaut. Das bedeutet, dass ich nicht alle Dateien, die sich auf ein Modul beziehen, in einem Ordner behalten und deaktivieren oder aktivieren kann. – SKoganti

Antwort

2

Für mich ist es klingt nicht wie Sie ein MEN-Stack verwenden möchten, sehe ich nicht, ein Grund, MongoDB in Ihrer Frage zu verwenden. Sie können modulare express Apps schreiben, z. wie folgt:

Angenommen, Sie haben drei Module in drei verschiedenen Ordnern moduleA, moduleB und moduleC. Jeder Ordner enthält die entsprechende Logik und bietet einige REST-konforme Routen zur Außenwelt. In express würden Sie ein separates Router für jedes Modul wie folgt erstellen:

ModuleA:

/* moduleA/routes.js */ 
var express = require('express'); 
var router = express.Router(); 

... // add all routes of moduleA 

module.exports = router; 

ModuleB:

/* moduleB/routes.js */ 
var express = require('express'); 
var router = express.Router(); 

... // add all routes of moduleB 

module.exports = router; 

ModuleC:

/* moduleC/routes.js */ 
var express = require('express'); 
var router = express.Router(); 

... // add all routes of moduleC 

module.exports = router; 

Und dann würden Sie haben eine Haupt-app.js Datei in Ihrem Stammordner wh ere Sie aktivieren und die einzelnen Module disble indem sie in die Haupt express App Montage:

In diesem Beispiel die Module moduleA und moduleB aktiviert werden und sind von den Routen /moduleA/* und /moduleB/* jeweils erreicht. Das Modul moduleC ist deaktiviert, wie wir es auskommentiert haben.

Wenn Sie Fragen haben, hinterlassen Sie bitte einen Kommentar.