2013-08-13 4 views

답변

11

돛 응용 프로그램에 express-middleware를 추가하는 것은 간단합니다.

새 정책을 만드십시오. 당신이 미들웨어를 만든 후에

policies 
    |_ 
    middleware.js/.coffee 

모든에 적용 할 수 있습니다 우리는 Node.js를 다음

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

에 대한 표준 수출을 만들 미들웨어 파일 내부 익스프레스 미들웨어YOUR_MIDDLE_WARE_FILE_NAME.js

추가 요청 또는 Sails.js convension을 따르는 단일 컨트롤러. 모든

전체 응용 프로그램policies.js

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

단일 컨트롤러 액션policies.js

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

나는 이것이 작동하지 못했습니다. 돛을위한 어떤 팁 0.11 –

7

먼저, @SkyTecLabs '대답은이 작업을 수행 할 수있는 적절한 방법입니다. 하지만 일부 경우에는 정적 파일 (이미지, 클라이언트 측 javascript, CSS 등)을 제어해야 할 필요가 있다는 것을 덧붙이고 싶습니다. (최근에이 파일을 처리해야했습니다). 이 경우 미들웨어를 모든 경로에 일반적으로 적용 할 수 있습니다.

는 Sails.js의 v0.9.3로, 당신은 할 수 있습니다 :

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

더 : 당신이 미들웨어는 당신의 컨트롤러 나 작업 중 하나 이상 전에 실행 할 경우 https://gist.github.com/mikermcneil/6255295

, 당신은 확실히 정책 접근법을 사용하면서 더 잘 봉사했습니다!

+1

이것은 나를 위해 일했다. 나는 받아 들인 대답을 어떻게 사용 하는지를 알 수 없었다. 특히 나는 OPTIONS_GO_HERE에 어떤 옵션을 사용할 지 확신하지 못했고 sailsjs 문서에서 언급 된 부분을 찾을 수 없었다. – alarner

+0

팁 주셔서 감사합니다 - 우리는 그것을 확신하고 일할 것입니다! – mikermcneil

관련 문제