In un'applicazione sails.js esiste un modo semplice per includere express-middleware
?Aggiungi middleware express per le convalide param
Ad esempio, per estendere l'oggetto richiesta con express-validator
.
In un'applicazione sails.js esiste un modo semplice per includere express-middleware
?Aggiungi middleware express per le convalide param
Ad esempio, per estendere l'oggetto richiesta con express-validator
.
L'aggiunta di middleware espresso in un'applicazione di vele è semplice.
creare una nuova politica.
policies
|_
middleware.js/.coffee
Aggiungere espresso MiddlewareYOUR_MIDDLE_WARE_FILE_NAME.js
Dentro il file middleware creiamo l'esportazione standard per node.js
module.exports = require('middle-ware')(OPTIONS_GO_HERE) // See middleware docs for configuration settings.
Poi, una volta che hai creato il middleware è possibile applicare a tutti richieste o un singolo controllore seguendo la convalida Sails.js.
intera applicazionepolicies.js
module.exports.policies = {
'*':['middleware'] // node same name as file without extention
}
singola azione controllerpolicies.js
module.exports.policies = {
RabbitController:{
feed:['middleware']
}
}
Prima di tutto, la risposta @SkyTecLabs' è il modo corretto per farlo. Ma volevo aggiungere che, in alcuni casi, potrebbe essere necessario controllare i file statici (immagini, javascript sul lato client, css, ecc.) (Ho appena dovuto occuparmene di recente). In questo caso, è possibile applicare il middleware genericamente a ogni percorso.
A partire dal Sails.js v0.9.3, si può fare:
// Put this in `config/express.js`
module.exports.express = {
customMiddleware: function (app) {
app.use(require('../node_modules/sails/node_modules/express').basicAuth('balderdash', 'wickywocky'));
}
};
Maggiori informazioni qui: https://gist.github.com/mikermcneil/6255295
Nel caso in cui si desidera il middleware per l'esecuzione prima di uno o più dei controller o azioni , sei sicuramente meglio servito usando l'approccio politico però!
Questo ha funzionato per me. Non riuscivo a capire come usare la risposta accettata. In particolare, non ero sicuro delle opzioni da utilizzare per OPTIONS_GO_HERE e non sono riuscito a trovare dove è stato menzionato nella documentazione di sailsjs. – alarner
Grazie per il suggerimento, ne saremo sicuri e lavoreremo! – mikermcneil
Non sono riuscito a farlo funzionare. Qualche consiglio per le vele 0.11 –