2017-11-19 9 views
0

"ng build --prod"를 사용하고 dist 폴더 내용을 tomcat 컨테이너에 배포 된 내 전쟁에 복사 할 때 많은 문제가 있습니다. 페이지를 새로 고칠 때 404 오류를 보내는 라우팅과 같습니다.dist 출력으로 생산에 각도 배치가 완벽하게 작동하지 않습니다.

내 클라이언트 응용 프로그램과 병행하여 (Eclipse에서) 서버에 배포 할 수있는 나머지 응용 프로그램 (동적 웹 프로젝트)이 있으며 변경 한 내용이 자동으로 반영됩니다. 이 프로젝트의 일부로 각도의 src를 포함하고 동일한 프로세스 내에서 클라이언트 측을 배치 할 수 있는지 궁금합니다.

그것은 2 개의 별도 프로젝트를 처리하지 않아도되며, dev 출력 모드에서 완벽하게 작동하지 않는 출력물을 생성하기 위해 앱을 제작하는 것을 다루게됩니다!

감사합니다.

답변

1

라우터 설정에 useHash 옵션을 추가해야합니다. 경로가 yourdomain.com/path에서 yourdomain.com/#/path으로 변경되며 404 오류가 발생하지 않습니다.

RouterModule.forRoot(
    appRoutes, 
    { useHash: true } 
) 

는 그렇게 할 수있는 가장 쉬운 방법입니다하지만 당신은 또한 예를 들어 Nginx와 별도로 프런트 서비스를 제공하고 index.html을 보내 그를 (404)을 처리하는 강제로 동일한 URL

+0

감사 피에르를 유지할 수 있습니다. 이제는 라우팅이 제대로 작동하고 있지만 올바르게 작동하는지 묻는 질문이 있습니다. "ng build --prod --base-href ./"를 사용하여 내 응용 프로그램을 빌드했으며 은 dist 폴더를 그대로 사용하여 복사했습니다. WebContent 폴더 또한 내 dist 폴더 내의 index.html로 리디렉션되는 WebContent 폴더 아래 다른 index.html을 만들었지 만 예를 들어 이미지를 찾는 데 문제가 있습니다. 통해 http : // localhost : 8080//DIST/#/응용 프로그램/구성 요소/가 자산을 /assets/img/edit.png하는 DIST 폴더 아래의 폴더 설정과는 IMG 폴더가 포함! – zbeedatm

+0

미안 내 말은 : 통해 http : // localhost : 8080//DIST/#/응용 프로그램/구성 요소/ 내가로 이동합니다 통해 http : // localhost : 8080//DIST/자산/IMG/편집. png 이미지가 거기에 있습니다! img src에서 "/ assets/img/..."을 사용했습니다. dev에서 가져 왔습니다. – zbeedatm

+0

src를 src = "assets/img/..."로 변경하고 작동했습니다. – zbeedatm