在角度cli中实现时,Cldr与globalize有关

时间:2017-08-29 03:50:41

标签: angular localization cldr javascript-globalize

我试图创建一个支持L10n的角度4项目。我试图在我的项目中使用Globalize库。但是我在编译项目时遇到了很多错误。我不想使用globalize-webpack-plugin或更改我的webpack配置文件。我使用npm install globalize cldr-data安装了globalize。但是当我尝试在我的.ts文件中使用globalize时import Globalize from 'globalize'我得到的错误如cant resolve cldr



import { Component,OnInit} from '@angular/core';
import * as cldr from 'cldrjs';
import Globalize from 'globalize';
var globalize = new Globalize( "en" );
console.log(globalize);




ERROR in ./~/globalize/dist/globalize.js
Module not found: Error: Can't resolve 'cldr'

我坚持这一点。感谢任何帮助

2 个答案:

答案 0 :(得分:0)

您需要像这样在globalize文件中的cldrtsconfig.json模块中添加路径:

{
  ...
  "compilerOptions": {
    ...
    "paths": {
      "globalize": [
        "node_modules/globalize/dist/globalize"
      ],
      "globalize/*": [
        "node_modules/globalize/dist/globalize/*"
      ],
      "cldr": [
        "node_modules/cldrjs/dist/cldr"
      ],
      "cldr/*": [
        "node_modules/cldrjs/dist/cldr/*"
      ],
      "jszip": [
        "node_modules/jszip/dist/jszip.min.js"
      ]
    }
  }
}

参考: https://github.com/DevExpress/devextreme-angular/blob/master/docs/setup-3rd-party-dependencies.md#globalize-registration

答案 1 :(得分:0)

将以下内容添加到您的Webpackconfig文件中:

  resolve: {alias: {'cldr$': 'cldrjs', 'cldr': 'cldrjs/dist/cldr'}}