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()renderMediaOnLambdaenvVariables 选项接受一个键值对对象。
然后可以从 React 组件内部的 process.env 中读取这些值。

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

另请参阅