2017-08-29 2 views
1

Gibt es eine empfohlene Möglichkeit, das Modell zu exportieren und es als Validierung in einer serverseitigen Anforderung zu verwenden?MobX State Tree - Exportieren der Modellvalidierung?

dh Wenn ich einen Benutzer

User = types.model("User", { 
    id: types.identifier(), 
    firstName: types.string, 
    lastName: types.string, 
    leftHanded: types.optional(types.boolean, false), 
    }) 

Und dann einen Express-Endpunkt haben

app.put('/user', function(req, res) { 
    const user = User.create(req.body); 
    const record = db.push(getSnapshot(user)).write(); 
    res.send(record); 
}); 

Wenn der Server mit der App gebündelt dann ist alles in Ordnung, aber was ist, wenn ich möchte, dass sie entkoppeln und einen eigenständigen API-Server erstellen?

Macht es Sinn, die Domänenmodelle als separates Paket zu haben?

(würde gerne mobx-state-tree Tag hinzuzufügen, aber ich habe nicht rep)

Antwort

0

Ja es sinnvoll, separates Modul für Domain zu haben, machen. Sie können sogar alle Domänenlogiken dorthin verschieben. Und wenn Domäne groß ist und App komplex ist, kann dieses Modul sogar von jemand anderem separat entwickelt werden.
Für komplexe Systeme separate Paket ist gut zu wählen. Nachteil davon haben Sie Modelle innerhalb node_modules Verzeichnis. Das ist nicht sehr praktisch. Ich bevorzuge, es innerhalb src/ zu haben, um Änderung zu vereinfachen.
Eine andere Möglichkeit, denselben Teil des Codes in mehreren Projekten zu verwenden, ist git Submodule und git Unterbaum (besser).