2016-04-18 13 views
1

Ich bin neu bei Node.js und bin mir nicht sicher, wie man einige Dinge anlegt.Layout der Node.js-Anwendung

Meine Verzeichnisstruktur ist wie folgt (ich bin offen, dies zu verändern):

- controllers 
- helpers 
- middlewares 
- models 
    - BlockLibraryConfigs.js 
    - BlockMosaicStreamer.js 
    - GlobalMercator.js 
    - index.js 
    - MosaicStreamer.js 
- nbproject 
    - private 
     - private.properties 
     - private.xml 
    - project.properties 
    - project.xml 
- node_modules 
    - all installed modules . . . 
- public 
    - images 
    - javascripts 
    - stylesheets 
     - style.css 
- tests 
- views 
    - index.jade 
    - layout.jade 
    - view.jade 
app.js 
package.json 

Die Dateien unter Modelle, mit Ausnahme von index.js Klassen umfassen. Ist das der richtige Ort für sie? Wenn ja, sollte ich sie über index.js zugänglich machen, richtig? Was ist der richtige Weg, um dies zu tun?

+0

Dies ist eine sehr subjektive Thema (und kann gegen Stack-Überlauf des [Gute Frage Kriterien] (http://stackoverflow.com/help/how-to-ask) ausgeführt werden.) Das heißt, habe ich immer setzen Quelle Dateien in einem './src /' Ordner und dann auf die für mich sinnvollste Weise aufzuteilen. – Mark

+0

haben Sie versucht, den Express-Generator zu verwenden? Es wird eine Skelett-App für Sie erstellen, aus der Sie erstellen können. http://expressjs.com/de/starter/generator.html –

Antwort

1

Dies ist ein durchaus vernünftiges Layout unter Berücksichtigung, dass es nicht niemand wahrem Weg ist. Sie können Ihre Modelle/index.js entweder manuell hinzufügen und exportieren oder einfach require-directory von NPM verwenden. Wenn Ihr Projekt an Komplexität zunimmt, kann Ihr Layout komplexer werden, wenn Sie Ansichten und Ihren Javascript-Ordner aufteilen.

Beachten Sie auch, dass die Mehrzahl von Middleware immer noch nur Middleware ist ebenfalls für Javascript.

+0

Können Sie ein Beispiel geben, wie man die Modelle in 'index.js' manuell exportiert? –

+1

module.exports = { MosiacStreamer: require (‘./ MosiacStreamer.js'), ... }; – Kyros

Verwandte Themen