2017-01-09 2 views
0

루프백 모델에 주 앱과 함께 생성 된 특정 개체에 대한 액세스 권한을 부여하는 올바른 방법이 있는지 궁금합니다.루프백 모델에 개체 전달

예 : 이메일 서비스가 있으며 모델의 특정 이벤트에 대해 관련 서비스를이 서비스에 보내고 싶습니다.

는 지금 내 현재 솔루션이

server.js에게 응용 프로그램 개체에 클라이언트를 설정하는 것보다 프로그래머 더 좋은 방법을 희망

const app = loopback() 
const email = createEmailService() 
app.emailS = email 

myModel.js

myModel.observe('before save', (ctx, next) => { 
    myModel.app.emailS.send('[email protected]', ctx.instance.message) 
} 

입니다. 다른 모델은 myModel.app.models.OtherModel을 통해 액세스하므로 내 접근 방식을 사용하는 것이 좋지만 가장 좋은 방법은 아닙니다.

답변

0

대부분의 경우에는 잘 작동하지만 앱 객체의 다른 속성과 충돌하지 않도록주의해야하며 루프백 프로젝트가 커지면 더 많은 속성을 추가 할 수 있으므로주의해야합니다. .

const emailS = require('../../server/email-service'); 
myModel.observe('before save', (ctx, next) => { 
    emailS.send('[email protected]', ctx.instance.message) 
} 

이 방법을

서버/이메일 service.js

... 
module.exports = createEmailService(); 

일반/모델/myModel.js :

내 자신의 환경 설정은 실제로 모듈에 넣어하는 것입니다 루프백 네임 스페이스를 오염시키는 것에 대해 걱정할 필요가 없습니다.