2017-09-15 40 views
5

Próbuję użyć funkcji internacjonalizacji Syncfusion EJ2 w Angular-Cli z WebPack, co jest problematyczne, ponieważ cała dokumentacja używa SystemJs.Internacjonalizacja w Syncfusion Ej2 z WebPack

W szczególności próbuję użyć tej próbki http://plnkr.co/edit/4uA2rb0Q2FrLLK6V4sne

import { L10n, loadCldr, setCulture, setCurrencyCode } from '@syncfusion/ej2-base'; 
import * as currencies from './currencies.json'; 
import * as cagregorian from './ca-gregorian.json'; 
import * as numbers from './numbers.json'; 
import * as timeZoneNames from './timeZoneNames.json'; 
import * as numberingSystems from './numberingSystems.json'; 
import { Component, OnInit } from '@angular/core'; 
import { data } from './datasource'; 

loadCldr(currencies, cagregorian, numbers, timeZoneNames, numberingSystems); 

setCulture('de-DE'); 
setCurrencyCode('EUR'); 

Próbowałem, ale nie mógł uczynić go do pracy, utknąłem na tym błędzie: Nie można odnaleźć modułu”./numberingSystems. json '

Jakie zmiany należy wprowadzić do próbki?

Odpowiedz

8

Aby zaimportować pliki json do maszynopisu, musimy podać typ json w deklaracji modułu karty wieloznacznej (https://www.typescriptlang.org/docs/handbook/modules.html#wildcard-module-declarations). Użyj poniższego kodu deklaracji w pliku typings.d.ts, aby rozwiązać problem kompilacji.

declare module "*.json" { 
    const value: any; 
    export default value; 
} 

Uwaga: Można również użyć plików CLDR json instalując pakiet npm CLDR-data. Ten pakiet zawiera wszystkie pliki json kultury.

+0

Teraz działa zgodnie z oczekiwaniami, dzięki. Zainstalowałem pakiet clrd-data, importuję pliki w ten sposób import * jako liczby z "../../node_modules/cldr-data/main/es-AR/numbers.json"; Istnieje "lepszy" sposób? –

+0

Pliki JSON można również importować za pomocą polecenia Wymaga, jak wspomniano w poniższym fragmencie. loadCldr (wymagają ("../../ node_modules/cldr-data/main/de/numbers.json")); Aby użyć wymaganego w aplikacji anguar-cli, musimy zadeklarować wymaganie w pliku typings.d .ts, jak poniżej: zadać var ​​require: any; –