我试图在Angular-Cli中使用Syncfusion EJ2的国际化功能和WebPack,这是有问题的,因为所有文档都使用SystemJs。
特别是我试图使用这个样本 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');
我试过但无法让它发挥作用,我一直坚持这个错误: 找不到模块' ./ numberingSystems.json'
我应该对样品做出哪些改变?
答案 0 :(得分:9)
为了在typescript中导入json文件,我们需要在通配符卡模块声明(https://www.typescriptlang.org/docs/handbook/modules.html#wildcard-module-declarations)中包含json类型。使用typings.d.ts文件中的以下声明代码来解决编译问题。
declare module "*.json" {
const value: any;
export default value;
}
注意:您也可以通过安装npm包cldr-data来使用cldr json文件。该软件包包含所有文化json文件。