1

--base-href "/some/path/"을 사용하여 ng build을 실행하면 왜 각도가 경로에 따라 하위 디렉토리를 만들지 못합니까? 내/dist /에서 http-server를 시작할 때 GET /some/path/assets/images/image.png Not Found!과 같은 에러가 발생합니다. /dist/을 보면 문제가 명확합니다. 자산 폴더는 다른 폴더가 아닌 직접적으로 존재합니다.각도 : baseHref가 하위 폴더를 만들지 않음

그래서 baseHref를 설정하는 올바른 방법은 무엇입니까?

다른 도메인 버전에서 다른 baseHref (예 : /EN/, 등)를 사용하는 다른 버전의 앱 (다른 i18n 로케일 사용)을 사용하고 있습니다.

답변

0

i18n을 사용하는 앱에서 동일한 문제가 발생했습니다. 무엇보다도 Angular는 아직 개발이 진행 중입니다. 예를 들어 i18n은 상자에서 벗어나서 작업 할 수 있습니다. GitHub의 i18n에 대한 로드맵은 #16477 일 수 있습니다. 버전 5에서도 동적 변환을 구현하려고합니다. 당신이 당신의 실제 파일이 저장 될 경로를 설정이 명령

--output-path 

: 나는 youz이 찾고있는 가정)

를 각 언어에 대해 다른 응용 프로그램이 필요하지만, 다른 문제 이잖아하지 않습니다 (Angular wiki)
--base-href은 index.html에 href 속성을 설정 만하지만 경로를 설정하려고하기 때문에 파일에 대한 당신은 index.html 다음 어쨌든, --deploy-url /en 당신은 또한 당신의 애플 리케이션을위한 --deploy-url를 설정할 필요가 있는지 확실하지 않습니다 --output-path

를 사용하여 작성해야합니다

<!doctype html> 
    <html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>Title</title> 
     <base href="/"> 
     <meta name="viewport" content="width=device-width,initial-scale=1"> 
     <link rel="icon" type="image/x-icon" href="assets/favicon_link_icon.png"> 
     <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> 
     <link href="/en/styles.xxx.bundle.css" rel="stylesheet"/> 
    </head> 
    <body> 
    <app-root></app-root> 
    <script type="text/javascript" src="/en/inline.xxx.bundle.js"></script> 
    <script type="text/javascript" src="/en/polyfills.xxx.bundle.js"></script> 
    <script type="text/javascript" src="/en/main.xxx.bundle.js"></script> 
    </body> 
    </html> 

--output-path ./dist/en 거의 함께 새 폴더 dist/en를 생성 동일 index.htmlsrc 경로에만 /en/ 접두사가 누락되었습니다.