2017-12-10 1 views
0

vue webpack 템플릿을 사용하여 프로젝트를 배포하기가 어렵습니다. 우리 서버에서 nginx와 Laravel 애플 리케이션을 제공하고 있습니다. 따라서 www.example.com을 열면 라우트 설치가 이루어집니다. 이제 www.example.com/lite을 사용하여 vue-webpack 템플릿으로 SPA 빌드 인 앱의 라이트 버전을 제공하고 싶습니다. 그리고 그것을 위해 나는 우리의 nginx 구성vue cli 프로젝트에서 정적 자산에 대해 404 가져 오기

location /lite { 
       # First attempt to serve request as file, then 
       # as directory, then fall back to displaying a 404. 
       #try_files $uri $uri/ =404; 
       index index.html index.htm; 
       alias /var/www/html/crm-lite/dist; 
       try_files $uri $uri/ /index.html; 
     } 

에 위치 블록을 생성 그리고 build/index.jsassetsPublicPath: '/lite'assetsPublicPath을 변경; 그러나 브라우즈에서 열면 고정 자산에 대해 404가 표시되지 않습니다. URL은 다음과 같습니다. http://example.com/lite/static/js/app.3c11ea8ceff19f8f33ff.js

dist/ 폴더의 내용을 문서 루트에 복사하고 IP 주소 만 열면 올바르게 작동합니다. 누락 된 구성이 있습니까? 도와 주셔서 감사합니다.

+0

. 대신'location^~/lite {...}'를 사용해보십시오. –

답변

0

별칭은 페이지를 이동하는 데 매우 신뢰할만한 방법이 아닙니다. 정적 요청을 부모 외부의 다른 폴더로 리디렉션하는 고유 한 기능을 제공합니다.

나는 무슨 일이 일어 났는지 알아 내기 전에 설정을 가지고 놀았습니다. 디렉토리 경로에서 /을 놓친 것입니다.

이 시도 (PS, 당신은 try_files 또는 인덱스 지침이 필요하지 않습니다) : 나는 당신이`.js`로 끝나는 URI에 대한 차단 location``충돌을 추측하고

location /lite { 
    alias /var/www/html/crm-lite/dist/; 
} 
관련 문제