비슷한 질문은 HERE이지만 해결 방법은 없습니다. 로컬 호스트에서 프로젝트를 실행할 수 있지만 배포가 완료되면 메타 데이터로드가 실패합니다. chrome developper 도구를 살펴보면 http://www.domain.org/projectname/breeze/metadata
대신 http://www.domain.org/breeze/metadata
으로 요청을 보냅니다. 내 로컬 호스트에서 메타 데이터는 http://localhost:xxxx/breeze/Metadata
으로로드됩니다. 내 엔티티 관리자는 new breeze.EntityManager('breeze')
으로 선언되었습니다. 엔티티 관리자를 new breeze.EntityManager('projectname/breeze')
으로 변경하면 모든 것이 잘 작동하지만 로컬 호스트에서는 작동하지 않습니다. 엔티티 관리자를 선언하여 경로가 프로젝트와 관련이 있고 내 로컬 호스트 및 배포시 작동하는지 어떻게 선언 할 수 있습니까?Breeze 엔터티 관리자 상대 경로
0
A
답변
0
데이터 서버와 웹 서버가 동일한 출처를 공유한다고 가정 할 수 있습니다. 따라서 브라우저의 window.location
개체의 기원 (즉, 무엇이든) 구성 할 수 있습니다 (각도에 $location
를 주입) :
var origin = location.protocol+'//'+location.host+'/'; // 'ex: http://www.foo.com:3000/'
var projectName = location.hostname === 'localhost' ? '' : 'projectName/';
var serviceName = origin + projectName + 'breeze'.
var manager = new breeze.EntityManager(serviceName);
또는, 당신은 서비스 이름을 구성하고 쿵 수있는 웹 서버에 작업을 위임 할 수있다 클라이언트 쪽 구성 중에 선택하는 JavaScript 변수로 웹 페이지에 있습니다.
다른 가정을해야하는 경우 여기에서 가져올 수 있습니다.