首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase云函数中的错误定位

Firebase云函数中的错误定位
EN

Stack Overflow用户
提问于 2018-02-27 15:35:00
回答 2查看 1.3K关注 0票数 5

在firebase云函数中执行时,下面的命令返回美式格式,而不是本地化格式。但是,它在浏览器中工作得很好。

代码语言:javascript
复制
price.toLocaleString("pt-BR", {
  maximumFractionDigits: 2
});

toLocaleString()是否可以在防火墙云函数中正常工作?

更新:

代码语言:javascript
复制
let price = 1456.21
let formattedPrice = price.toLocaleString("pt-BR", {maximumFractionDigits: 2});

//Value of formattedPrice expected: 1.456,21 (it works in browsers).
//Value of formattedPrice returned in Firebase Cloud Functions: 1,456.21

可能是与Node的默认ICU有关(-with=small)。为了支持国际化,它的价值似乎应该是--具有-intl=完全-icu。

js

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-01 22:22:45

在构建云函数中使用的节点版本时,不应该依赖特殊标志。相反,您可以使用一个处理格式化区域设置字符串的模块。例如,您可以使用英特模块:

代码语言:javascript
复制
npm install intl

使用如下:

代码语言:javascript
复制
const intl = require('intl')
const format = intl.NumberFormat("pt-BR", {maximumFractionDigits: 2})
console.log(format.format(price))
票数 7
EN

Stack Overflow用户

发布于 2019-12-31 14:34:32

⚠️intl似乎不再激活/支持(最后一个版本是4yo.)。

我已经实现了添加真正的intl如下:

  1. 在Firebase函数上添加full-icu依赖项:npm install full-icu --save
  2. 编辑您的功能(在成功部署之后)在console.cloud.google.com上(不要忘记选择正确的google项目)
  3. 添加NODE_ICU_DATA env var和值node_modules/full-icu
  4. 保存并等待1或2分钟来部署函数。

Furter更新不会删除这个env,而且我成功地从鲁迅中使用了Intl apis。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49012433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档