2016-10-26 2 views
1

Я пытаюсь использовать пакет ng2-translate с Webpack. В режиме разработки все работает отлично. Когда я начинаю сборку, она не копирует языковые файлы в каталог «dist».ng2-translate + Webpack для производства

Может кто-нибудь дать мне несколько советов, как изменить путь вывода, я пытался следить за https://github.com/ocombe/ng2-translate инструкции, но я оленья кожа обеспечить любой рабочий пример для WebPack в производстве, и его не очень понятно, как использовать 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'); 
    } 

} 

My app.component.html

<div>{{ 'HELLO' | translate:{value: param} }}</div> 

и мой

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

Спасибо за вашу помощь.

ответ

0

Какие у вас ошибки? Я использую его в режиме разработки, и он работает отлично.

+0

У меня также есть эта работа в разработке, мне удалось заставить импортировать TranslateService, TranslateLoader, TranslateStaticLoader} из 'ng2-translate', но проблема на этом не заканчивается, в AppComponent конструктор должен быть конструктором (частный перевод: TranslateService), добавление частного в примеры не так. Это в конечном итоге работает, но создание приложения - это еще одна история, я застрял там. – Dimitri

+0

btw Я в конечном итоге использую angular2localization и отлично работает, документация более обширна и легко интегрируется в ваше приложение. – Dimitri

Смежные вопросы