2016-10-26 4 views
1

Webpack에서 ng2-translate 패키지를 사용하려고합니다. 개발 모드에서는 모두 잘 작동합니다. 빌드를 시작할 때 언어 파일을 "dist"디렉토리에 복사하지 않습니다.ng2-translate + 생산 용 웹팩

누군가가 나에게 출력 경로를 변경하는 방법을 몇 가지 조언을 줄 수, 나는 https://github.com/ocombe/ng2-translate 지침을 따르려고 노력하지만 생산 웹팩을 위해 어떤 작업 예제를 제공 나던, 그되지 TranslateStaticLoader를 사용하고 18n/*.json을 변경하는 방법을 명확. 나는이를 추가 할 경우

나는 도서관

@NgModule({ 
    imports: [ 
     BrowserModule, 
     HttpModule, 
     TranslateModule.forRoot({ 
      provide: TranslateLoader, 
      useFactory: (http: Http) => new TranslateStaticLoader(http, '/assets/i18n', '.json'), 
      deps: [Http] 
    }) 
    ], 
    bootstrap: [AppComponent] 
}) 

이 내 app.module.ts

import {BrowserModule} from "@angular/platform-browser"; 
import { NgModule } from '@angular/core'; 
import {HttpModule} from '@angular/http'; 
import { AppComponent } from './app.component'; 
import {TranslateModule} from 'ng2-translate'; 

@NgModule({ 
    imports: [ 
    BrowserModule, 
    HttpModule, 
    TranslateModule.forRoot() 
    ], 
    declarations: [ 
    AppComponent 
    ], 
    bootstrap: [ AppComponent ] 
}) 
export class AppModule { } 

내 app.component.ts입니다 함께 오류가 발생

import { Component } from '@angular/core'; 
import {TranslateService} from 'ng2-translate'; 

import '../../public/css/styles.css'; 
@Component({ 
    selector: 'my-app', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 

    param: string = "world"; 

    constructor(translate: TranslateService) { 
     // this language will be used as a fallback when a translation isn't found in the current language 
     translate.setDefaultLang('en'); 

     // the lang to use, if the lang isn't available, it will use the current loader to get them 
     translate.use('en'); 
    } 

} 

내 app.component.html

당신의 도움에 대한

개 내 JSON

{ 
    "HELLO": "hello {{value}}" 
} 

감사합니다.

답변

0

어떤 오류가 있습니까? 개발 모드에서 사용하고 있으며 완벽하게 작동합니다.

+0

또한이 작업을 개발 중이므로 'TranslateService, TranslateLoader, TranslateStaticLoader}를'ng2-translate '에서 가져 오기 작업을 할 수있었습니다.하지만 문제가 끝나지 않습니다. AppComponent에서 생성자가 생성자가되어야합니다 (private translate : TranslateService), 예제에서 private를 추가하는 것은 이와 같지 않습니다. 그것은 끝내지만, 응용 프로그램을 구축하는 또 다른 이야기입니다, 나는 거기에 붙어 있어요. – Dimitri

+0

btw 나는 angular2localization을 사용하여 끝내고 완벽하게 작동합니다. 문서가 더 광범위하고 쉽게 앱에 통합 될 수 있습니다. – Dimitri