2014-04-22 3 views
0

포트 2368에서 실행되는 Ghost blog을 포트 3000에서 실행되는 Meteor 어플리케이션에 통합하려고합니다. 고스트는 별도의 인스턴스입니다.Meteor의 동일한 호스트에있는 다른 포트로 어떻게 리디렉션합니까?

아래 템플릿 파일에서 Meteor 앱의 하이퍼 링크가 별도의 인스턴스 고스트 블로그를 가리키고 있습니다.

<template name="header"> 
    <header class="navbar"> 
     <div class="navbar-inner"> 
      <div class="top-nav"> 
       <div> 
        <a href="{{pathFor 'home'}}">Home</a> -       
        <a href="http://localhost:2368">Blog</a> - 
       </div>           
      </div> 
     </div> 
    </header> 
</template> 

내 로컬 컴퓨터에서 작동합니다. 즉, 블로그 시스템으로 올바르게 리디렉션됩니다. 그러나 여전히 로컬 호스트를 가리키며 프로덕션 환경에 배포 할 때 작동하지 않습니다.

로컬 또는 프로덕션에 관계없이 호스트 이름을 검색하는 가장 좋은 방법은 무엇입니까? Iron-Router를 통해 작동하도록 할 수있는 방법이 있습니까?

답변

1

Meteor.absoluteUrl([path], [options])을 (http://docs.meteor.com/#meteor_absoluteurl) 사용할 수 있습니다. 예를 들어

, HTML :

<a href="{{rooturl}}:2368">Blog</a> 

및 JS :

Template.header.rooturl = Meteor.absoluteUrl(""); 
+0

나는 localhost를 얻었다 : 3000/: 2368. Template.header.rooturl = Meteor.absoluteUrl (""). split (':') [1] ;;과 같이 수동으로 ": 3000 /"을 꺼야합니까? 아니면 쉬운 방법이 있습니까? 그들은 hostname-only funciton을 지원해야합니다. 두 번째 문제는 제작 중에도 실제 도메인 대신 항상 localhost를 얻는 것입니다. –

+0

프로덕션 환경에 따라 배치 방법에 따라 올바른 URL을 설정하기 위해 유성 또는 번들을 시작하기 전에 수동으로'ROOT_URL' 환경 변수를 설정해야합니다. 'absoluteUrl'의 결과를 변경하는 것에 관해서는 그렇습니다. 포트가 포함되어 있다는 것을 알지 못했지만 의미가 있습니다. url 패키지를 사용하고 URL에 url.parse를 호출 한 다음 반환 된 객체에서 프로토콜과 호스트 이름을 가져 오는 것이 가장 좋습니다. –