Skip to main content

环境变量

从 v2.1.2 版本开始可用。

Remotion 支持直接从 CLI 传递环境变量,使用 .env 文件以及 renderMedia() 函数。

从 CLI 传递变量​

如果您想从 CLI 传递环境变量,需要使用 REMOTION_ 作为前缀。这是一个安全功能,可以防止您的整个环境(可能包含敏感信息)被包含在 Webpack 捆绑包中。

您可以在开发模式和渲染时传递环境变量。例如:

bash
REMOTION_MY_VAR=hello_world npm start
bash
REMOTION_MY_VAR=hello_world npm start

在您的项目中,您可以使用 process.env.REMOTION_MY_VAR 访问该变量。

使用 dotenv 文件​

如果您使用 CLI,则内置支持 Dotenv。
如果您使用 Node.JS API,则 .env 文件不会自动读取,您需要自己使用 dotenv 包。

在您的项目的 根目录中放置一个 .env 文件,并填充键值对。

.env
ini
MY_VAR=hello
ANOTHER_VAR=world
.env
ini
MY_VAR=hello
ANOTHER_VAR=world

在您的 Remotion 前端代码中,您可以使用 process.env 读取一个环境变量对象:{"MY_VAR": "hello", "ANOTHER_VAR": "world"}。

自 v4.0.110 版本开始,以下位置将自动被识别:

您可以通过向您的命令添加 --log=verbose 标志并查看以下日志来查看哪个配置文件被读取:

Loaded env file from /Users/my-user/remotion-project/.env.local.
Loaded env file from /Users/my-user/remotion-project/.env.local.

您可以使用 配置文件设置 或 CLI 标志 覆盖您的 dotenv 文件位置。

在 Node.js API 中使用​

当使用 Node.js API 时,如 renderMedia() 或 renderMediaOnLambda(),环境变量不会被自动获取。

原因是有人可能将 Remotion 集成为大型应用程序的一小部分,如果 Remotion 自动读取 .env 文件并将所有变量转发到渲染器,这将导致安全问题。

在服务器端渲染时传递环境变量,请将对象传递给 renderMedia() 的 envVariables 选项。

如果要从 .env 文件中读取环境变量,请使用 dotenv 包。

envVariables 选项​

renderMedia()、renderMediaOnLambda 的 envVariables 选项接受一个键值对对象。
然后可以从 React 组件内部的 process.env 中读取这些值。

该选项不用于与 AWS 进行身份验证 - 取而代之的是,使用上述描述的方法之一加载 AWS 凭据。

另请参阅​