NodeJS:使用 .env 中的原始格式数据

NodeJS: Use Data in Raw Format from .env

我有以下代码,它使用 Jimp 包来编辑文件的背景:

const file = await Jimp.read(JPGPath)
  file
    .resize(parseInt(width), parseInt(height))
    .background(process.env.JPG_BACKGROUND_COLOR)
    .write(JPGPath)

任何时候我 运行 这个代码,我都会从 Jimp 得到一个错误说: Error: hex must be a hexadecimal rgba value"

.envJPG_BACKGROUND_COLOR的值为0xFFFFFFFF,这是Jimp

的正确十六进制rgba值

所以只要我像这样直接使用 JPG_BACKGROUND_COLOR 值,代码就可以工作:

const file = await Jimp.read(JPGPath)
  file
    .resize(parseInt(width), parseInt(height))
    .background(0xFFFFFFFF)
    .write(JPGPath)

我怎样才能使第一个代码起作用,因为我需要在 .env

中设置 JPG_BACKGROUND_COLOR

注意:console.log(process.env.JPG_BACKGROUND_COLOR) 打印 0xFFFFFFFF 所以该值不为空,但它被解析为字符串,而 Jimp 不接受字符串,所以我如何传递值.env raw 进入 Jimp

您可以使用 dotenv 包从 .env 文件加载变量。

尽早在您的应用程序中要求并配置 dotenv。

require('dotenv').config()

这对你来说已经足够了。 更新:

请使用 parseInt

file
    .resize(parseInt(width), parseInt(height))
    .background(parseInt(process.env.JPG_BACKGROUND_COLOR))
    .write(JPGPath)

加载dot env文件包然后导入