0

我有以下代码使用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"

JPG_BACKGROUND_COLORin的值.env0xFFFFFFFF正确的十六进制 rgba 值Jimp

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

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

JPG_BACKGROUND_COLOR我怎样才能使第一个代码工作,因为我需要设置.env

注意:console.log(process.env.JPG_BACKGROUND_COLOR)打印0xFFFFFFFF所以值不为空,但它被解析为字符串,Jimp而不接受字符串所以我如何将值从.envraw 传递到Jimp包中

4

2 回答 2

1

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

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

require('dotenv').config()

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

请使用 parseInt

file
    .resize(parseInt(width), parseInt(height))
    .background(parseInt(process.env.JPG_BACKGROUND_COLOR))
    .write(JPGPath)
于 2020-10-14T08:18:55.860 回答
0

加载 dot env 文件包然后导入

于 2020-10-14T08:23:27.823 回答