d3:无法导入要格式化的语言环境

时间:2018-08-27 18:10:24

标签: d3.js

我正在本地化我的应用程序,这意味着我必须格式化所有数字。目前,我正在为每个语言环境创建如下的语言环境对象:

import d3Format from 'npm:d3-format';
export default d3Format.formatLocale({
 "decimal": ",",
 "thousands": ".",
 "grouping": [3],
 "currency": ["", "\u00a0€"]
});

然后我要导入它们,就像这样:

import deDE from '../d3-locales/de-DE';

然后我要进行格式化,就像这样:

let DE = deDE.format("$,.2f");

那很棒!但是,创建所有这些区域设置对象非常烦人。我想从d3本身here导入语言环境:

然后我要这样导入它们:

import deDE from 'npm:d3-format/locale/de-DE.json';

然后,我希望上面的格式化代码能够正常工作;但是,我收到此错误: _deDE.default.format不是函数知道为什么我的对象正在格式化,而d3不是吗?

1 个答案:

答案 0 :(得分:0)

您也可以使用d3的unpkg中的d3-json获取这些语言环境:

d3.json("https://unpkg.com/d3-format@1/locale/de-DE.json").then( function(locale) {
  d3.formatDefaultLocale(locale);
  var format = d3.format("$,.2f");
  console.log(format(1289.56));
});
<script src="https://d3js.org/d3.v5.min.js"></script>