1

작동하지 app.module.tsAngularCli 앱 노선 내가 앱 routing.module.ts에 다음과 같은 경로 구성 및 NgModule</p> <p>와 AngularCli과 각도 응용 프로그램을 생산

import { NgModule } from '@angular/core'; 
import { Routes, RouterModule } from '@angular/router'; 
import { OneComponent } from './components/one.component'; 
import { TwoComponent } from './components/open/two.component'; 

const routes: Routes = [ 

    { path: '', redirectTo: 'one', pathMatch: 'full' }, 
    { path: 'one', component: OneComponent }, 
    { path: 'two', component: TwoComponent }, 
    { path: '**', redirectTo: 'one' } 

]; 

@NgModule({ 
    imports: [RouterModule.forRoot(routes, { useHash:false })], 
    exports: [RouterModule] 
}) 

export class AppRoutingModule { } 

import { LocationStrategy, PathLocationStrategy } from '@angular/common'; 
@NgModule({ 
    declarations: [ 
    AppComponent, 
    OneComponent, 
    TwoComponent  
    ] 
    imports: [  
    AppRoutingModule, 
    ], 
    bootstrap: [AppComponent], 
    providers: [{ provide: LocationStrategy, useClass: PathLocationStrategy }] 
}) 

개발 모드에서는 경로가 정상이지만 생산을 위해 갈 때 (ng 빌드 --prod - aot) 경로가 작동을 멈 춥니 다. HashLocationStrategy 경로를 사용하면 개발 및 프로덕션 모드를 모두 사용할 수 있지만 가끔씩 URL을 두 번 또는 세 번 눌러 내 Rest Api에 연결할 URL을 변경해야하기 때문에 몇 가지 문제가 발생합니다.
PathLocationStrategy가 제공하는 점은 내가 원하는 행동이지만, 개발에만 의존하고 생산에는 그렇지 않다.

난 당신이 IIS에서 웹 응용 프로그램을 배포 한 경우 사전

+0

개발 모드에서 앱을 어떻게 만들고 사용하고 있습니까? 같이, 봉사를 사용합니까? 평소와 같이 dev (ng serve)에 대해서는 – RRForUI

+0

입니다. 배포 (ng 빌드 --prod - aot) –

답변

0

나는 Go here

내 asp.net 핵심 응용 프로그램의 web.config 파일에이를 추가해야 Angular.io 사이트에서 제공하는 동일한 솔루션이 문제를 해결 결국 <action type="Rewrite" url="/"/>의 URL은 index.html의 기본 href와 일치해야합니다.

0

에 문제

어떤 생각, 감사하지 않고 두 모드에 대한 작동하는 솔루션이 필요합니다, 빈 HREF 태그를 넣어 시도하고 응용 프로그램을 구축하고 배포

<base href=""> 
+0

시도해 보겠습니다 –

+0

문제가 지속됩니다 –

0

서버의 각도 앱 경로는 무엇입니까? index.html 파일의 초기 URL이 "www.example.com/my/anular/app/"인 경우 index.html에 <base href="/my/angular/app/">이 있어야합니다. --base-href /my/angular/app/ng build에 추가하십시오. 선행 및 후행 슬래시가 중요합니다.

<system.webServer> 
    <rewrite> 
    <rules> 
     <rule name="Angular Routes" stopProcessing="true"> 
     <match url=".*" /> 
     <conditions logicalGrouping="MatchAll"> 
      <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
      <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
     </conditions> 
     <action type="Rewrite" url="/" /> 
     </rule> 
    </rules> 
    </rewrite> 
</system.webServer> 

:

+0

내 단일 페이지 응용 프로그램이 포함 된 wwwroot 폴더가있는 Asp.net Core Api 응용 프로그램입니까? Angular 프로젝트는 Asp.net Core Api와 별개이지만 Asp.net Core API의 wwwroot 폴더에 배포합니다. –

관련 문제