如何在React中使用i18n-iso-countries?

时间:2019-09-27 14:23:40

标签: javascript node.js reactjs npm

我正在开发一个React应用,并尝试使用i18n-iso-countries包来获取一个国家(地区)英语对象,该对象具有作为iso代码的键和作为国家名称的值。在节点上这很容易,因为我已经用运行i18n-iso-countries npm docs显示方式的简单脚本进行了验证,例如:

const countries = require("i18n-iso-countries");
console.log(countries.getNames('en'));

但是当我在这样的react应用程序(由create-react-app制造)中执行此操作时...

import countries from "i18n-iso-countries";
console.log(countries.getNames('en'));

...我得到一个空物体。当我在React中仅记录国家(console.log(countries))时,我看到它上面的函数“ getNames”以及文档中提到的其他函数,所以我不确定给出了什么。

2 个答案:

答案 0 :(得分:1)

有点晚了。但是要回答 jupiterjelly 浏览器环境需要这一行,以便您的捆绑器知道它需要将此文件放入捆绑包中

答案 1 :(得分:0)

只需添加此行!

countries.registerLocale(require("i18n-iso-countries/langs/en.json"));

不确定为什么需要在React(和Angular-我在这里找到答案How to use i18n-iso-countries in Angular 6-以及其他ui库/框架)中添加此内容,因此如果有人可以解释,那将很酷,但是,至少可以正常工作!