2013-08-13 26 views

cevap

11

ekleme ekspres-katman basittir.

yeni bir ilke oluşturmak. Eğer ara katman oluşturduktan sonra

policies 
    |_ 
    middleware.js/.coffee 

tüm uygulayabilirsiniz biz node.js Sonra

module.exports = require('middle-ware')(OPTIONS_GO_HERE) // See middleware docs for configuration settings. 

için standart ihracat oluşturun katman dosyası içinde Ekspres Middleware'iYOUR_MIDDLE_WARE_FILE_NAME.js

ekle Sails.js sözleşmesini izleyerek istekleri veya tek bir denetleyici. Her şeyden

Bütün Uygulamapolicies.js

module.exports.policies = { 
    '*':['middleware'] // node same name as file without extention 
} 

Tek Kontrolörü Eylempolicies.js

module.exports.policies = { 
    RabbitController:{ 
     feed:['middleware'] 
    } 
} 
+0

Ben bu işe almak için başarısız oldu. Yelkenliler için herhangi bir ipucu 0.11 –

7

Öncelikle @SkyTecLabs' cevabı Bunu yapmanın en iyi yolu. Ancak, bazı durumlarda, statik dosyalarınızı (resimler, istemci tarafı javascript, css, vb.) De kontrol etmeniz gerekebilir (sadece bunu son zamanlarda yapmak zorunda kaldım). Bu durumda, middleware'i her rotaya genel olarak uygulayabilirsiniz.

Sails.js v0.9.3 itibariyle yapabileceğiniz:

burada
// Put this in `config/express.js` 
module.exports.express = { 
    customMiddleware: function (app) { 
    app.use(require('../node_modules/sails/node_modules/express').basicAuth('balderdash', 'wickywocky')); 
    } 
}; 

Daha: Eğer katman denetleyicileri veya işlemlerden birine veya daha önce çalıştırmak istediğiniz durumda https://gist.github.com/mikermcneil/6255295

Yine de politika yaklaşımını kullanarak kesinlikle daha iyi hizmet veriyorsunuz!

+1

Bu benim için çalıştı. Kabul edilen cevabı nasıl kullanacağımı anlayamadım. Spesifik olarak OPTIONS_GO_HERE için hangi seçeneklerin kullanılacağından emin değildim ve sailsjs belgelerinde belirtilen yeri bulamadım. – alarner

+0

Bahşiş için teşekkürler - emin olacağız ve çalışacağız! – mikermcneil