In einer sails.js-Anwendung gibt es eine einfache Möglichkeit, express-middleware
einzuschließen?Express-Middleware für Param-Validierungen hinzufügen
Zum Beispiel Erweiterung des Anfrageobjekts mit express-validator
.
In einer sails.js-Anwendung gibt es eine einfache Möglichkeit, express-middleware
einzuschließen?Express-Middleware für Param-Validierungen hinzufügen
Zum Beispiel Erweiterung des Anfrageobjekts mit express-validator
.
Hinzufügen von Express-Middleware in einer Segel-Anwendung ist einfach.
erstellen Sie eine neue Richtlinie.
policies
|_
middleware.js/.coffee
hinzufügen Express MiddlewareYOUR_MIDDLE_WARE_FILE_NAME.js
In Ihrer Middleware-Datei wir den Standard-Export für node.js
module.exports = require('middle-ware')(OPTIONS_GO_HERE) // See middleware docs for configuration settings.
Dann erstellen, sobald Sie die Middleware erstellt haben Sie es für alle gelten können Anfragen oder einen einzelnen Controller, indem Sie der Sails.js-Vereinbarung folgen.
gesamte Anwendungpolicies.js
module.exports.policies = {
'*':['middleware'] // node same name as file without extention
}
Einzel-Controller Aktionpolicies.js
module.exports.policies = {
RabbitController:{
feed:['middleware']
}
}
Zunächst einmal @SkyTecLabs' Antwort ist der richtige Weg, dies zu tun. Aber ich wollte hinzufügen, dass Sie in einigen Fällen möglicherweise Ihre statischen Dateien (Bilder, clientseitige Javascript, CSS, etc.) auch steuern müssen (ich musste mich gerade damit befassen). In diesem Fall können Sie Middleware generisch auf jede Route anwenden.
Ab Sails.js v0.9.3, können Sie tun:
// Put this in `config/express.js`
module.exports.express = {
customMiddleware: function (app) {
app.use(require('../node_modules/sails/node_modules/express').basicAuth('balderdash', 'wickywocky'));
}
};
Mehr hier: https://gist.github.com/mikermcneil/6255295
In dem Fall, dass Sie Middleware vor einem oder mehreren Ihrer Controller oder Aktionen ausführen möchten , Sie sind definitiv besser bedient mit der Politik-Ansatz!
Das funktionierte für mich. Ich konnte nicht herausfinden, wie ich die angenommene Antwort verwenden sollte. Insbesondere war ich nicht sicher, welche Optionen für OPTIONS_GO_HERE verwendet werden sollten und konnte nicht finden, wo das in der Dokumentation von sailsjs erwähnt wurde. – alarner
Danke für den Tipp - wir werden uns sicher sein und arbeiten! – mikermcneil
Ich habe es nicht geschafft, dies zu arbeiten. Irgendwelche Tipps für die Segel 0.11 –