serverless.yml - 如何强制不将数字转换为字符串?

serverless.yml - How to force numbers not to be converted to strings?

我 运行 行为古怪。我有一个 YAML 文件 serverless.yml(来自 https://serverless.com/framework),它定义了一些变量,其中一些是整数,例如:

TEMPLATE_ID_CONTACT_REQUEST: 111

当我在本地加载该文件时,数字未转换为字符串。但是当我在 AWS 上部署它时,数字会自动转换为字符串。

当我在本地 运行 它时,我使用了一些模拟 AWS Lambda 行为的东西,可能是相关的?

无论如何,我试图找到一种在 YAML 文件中强制类型的方法,但到目前为止没有找到任何有效的方法。而且我不能使用自定义 YAML 文件加载器 (AFAIK),因为 serverless.yml 文件是从无服务器框架本身加载的。

假设您将这些变量设置为 environment variables 并使用 process.env 访问它们,值应始终为字符串。

来自node docs

Assigning a property on process.env will implicitly convert the value to a string.

如果您需要该值是一个整数,也许使用 parseInt? 运行 parseInt 在整数上工作正常,因此在本地也应该工作。