2014-05-10 2 views
1

은 매우 간단합니다 : 응용 프로그램에서는 Sails.js하고 새로운 유물 (브라우저 통합) 나는 applicatin 수준에서 작동하는 새로운 유물을 얻기 Sails.js 작업 새로운 유물 브라우저 통합을 얻으려고

var newrelic = require('newrelic'); 
// Start sails and pass it command line arguments 
require('sails').lift(require('optimist').argv); 

. js

그러나 브라우저 작업을 수행하려면 newrelic.getBrowserTimingHeader()을 html 헤드의 시작 부분에 불러야합니다.

전 세계에 newrelic을 추가하는 것과 같은 다양한 시도를했습니다 (global.newrelic).하지만 사라질 것 같습니다. config의 local.js에 추가하고 config override로 리프트를 전달하면됩니다. (아마도 내가 잘못 전달했을 것입니다.)

그렇다면 누구나 newrelic 변수를 원래 app.js에서 레이아웃 파일로 가져올 수있는 아이디어가 있습니까?

답변

4

따라서 sails lift을 명령 줄에서 실행하면 실제로 app.js 파일을 사용하지 않습니다. 사용하려면 node app.js해야합니다. 내 app.js는 이제 다음과 같이 보입니다.

global.newrelic = require('newrelic'); 
require('sails').lift(require('optimist').argv); 

다음 layout.ejs에 당신은 내가 개체가 :(

엉망당한 sails.config에 넣어 때마다 세계에서 물건을 넣기

<%- global.newrelic.getBrowserTimingHeader() %> 

그러나, 가장 좋은 해결책이 될하지 않을 수 있습니다 추가 할 수 있습니다

+0

당신은 내 머리카락을 잡아 당겨에서 저를 저장! – Ranjan

0

@cosmorogers 우선, 귀하의 답변은 이것을 수행하기위한 완벽하게 유효한 방법입니다. 명확하게하기 위해 global에 연결했는지 또는에 연결했는지에 관계없이 newrelic이라는 새로운 전역 변수를 만듭니다 10은 똑같은 일을합니다. 당신이 실제로 app.js 파일

Indeed-를 사용하지 않는 명령 줄에 들어 돛을 실행할 때

그래서 밝혀 당신이 언급 한 바와 같이, 당신은 항상 대신 node app.js에 돛을 올릴 수 . 여기

몇 가지 추가 정보/해설 : http://willricketts.com/using-newrelic-with-sails-js/#comment-1551000708