2017-01-31 7 views
0

변경하지 않는 언어는 이후에 게시하고 나는이 로컬 호스트에서 잘 작동localizerouter 내가 <a href="https://github.com/Greentube/localize-router" rel="nofollow noreferrer">this</a>을 사용하고

<button (click)="changeLanguage('en')">EN</button> 
<button (click)="changeLanguage('de')">DE</button> 

import { Component } from '@angular/core'; 
import {LocalizeRouterService} from 'localize-router'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 
    title = 'app works!'; 

    constructor(private localize: LocalizeRouterService) {} 

    changeLanguage(lang: string) { 
    this.localize.changeLanguage(lang); 
    } 
} 

및 HTML의 구성 요소에서이 코드를 가지고 있지만 최대한 빨리 그것을 사용하여 게시 ng build --prod 및 IIS의 호스트가이 오류를 기록합니다.

Unexpected token < in JSON at position 0

무엇이 잘못 되었습니까?

답변

1

응용 프로그램이 localize 라우터에서 JSON 구성 파일을로드하려고합니다. 내 생각 엔 자산 배열 angular-cli.json 안에 추가하는 것을 잊어 버린 것 같습니다. 토큰 <가의 시작입니다

Unexpected token < in JSON at position 0

: 웹 서버가 귀하의 index.html 파일을 임의의 404 개 요청을 처리하기 위해 설정되어 있기 때문에, 앱이 전형적인 오류가 발생합니다 JSON과 같은 html 파일을 구문 분석하려고 <!DOCTYPE html> 태그

즉, 편집하여 angular-cli.json :

{ 
    ... 
    "apps": [ 
    { 
     ... 
     "assets": [ 
     ..., 
     "path/to/localize-router/config.json" 
     ], 
    } 
    ] 
} 

그것은 또한 당신이 자산 폴더로 사전 json 파일을 추가하는 것을 잊었다 수 있습니다. 그러나 그 경우 동일한 조리법이 위에서 설명한대로 적용됩니다.

+0

node_modules/localize-router 폴더 내에서 config.json을 찾을 수 없습니다. http://i.imgur.com/BoUqWTT.png – gsiradze

+0

@gsiradze 구성 파일입니다. 너 자신을 만들었다. [여기를 읽으십시오] (https://github.com/Greentube/localize-router#json-config-file), 귀하의 자산에 추가하는 것을 잊어 버린 사전 파일 일 수도 있습니다 (내 답변이 업데이트되었습니다) – PierreDuc

+0

Ok 나는 http://i.imgur.com/VZOBxPN.png을 만들었지 만 build prod : 'ENOENT : no such file or directory, stat'C : \ Users \ ... \ WebstormProjects \ loca에 오류가 발생했습니다. ' – gsiradze

관련 문제