Node.js 环境变量动态获取和静态获取的区别

Node.js 环境变量动态获取和静态获取的区别

Node.js 环境 vs 浏览器环境
  • process.env.SERVICE_PORTAL:

    • 适用环境:Node.js 环境。
    • 用途:访问操作系统的环境变量。
  • import.meta.env.SERVICE_PORTAL:

    • 适用环境:浏览器环境,特别是在使用 Vite 等现代构建工具时。
    • 用途:从构建过程中注入环境变量到浏览器环境中。
构建时注入
  • process.env.SERVICE_PORTAL:

    • 设置方式:环境变量是在运行 Node.js 应用程序之前设置的,通常通过命令行参数或环境配置文件。
    • 动态性:环境变量在运行时动态获取,不能在运行时修改。
  • import.meta.env.SERVICE_PORTAL:

    • 设置方式:环境变量是在构建过程中从环境文件(如 .env 文件)中注入的。
    • 静态性:在应用程序构建时被静态地注入到代码中,不能在运行时修改。
可静态提取 vs 不可静态提取
  • process.env.SERVICE_PORTAL:

    • 静态性:存储的值是在运行时动态获取的,无法在构建时进行静态分析或提取。
  • import.meta.env.SERVICE_PORTAL:

    • 静态性:一些构建工具能够静态提取 import.meta.env 中的值,使得它们可以在构建时进行优化或者提取出来。这些值可以在构建期间进行优化和变换。

总结

在 Node.js 环境中,使用 process.env 可以访问操作系统的环境变量,而在浏览器环境中,特别是使用 Vite 等现代构建工具时,可以使用 import.meta.env 来从构建过程中注入环境变量。两者在设置方式、动态性和静态性上都有所不同,需要根据具体环境和需求选择合适的方式来使用环境变量。

相关推荐

  1. Node.js 环境变量动态获取静态获取区别

    2024-04-24 12:10:01       33 阅读
  2. 项目随笔【环境变量获取

    2024-04-24 12:10:01       22 阅读
  3. golang获取变量动态类型

    2024-04-24 12:10:01       30 阅读
  4. Docker设置获取环境变量

    2024-04-24 12:10:01       52 阅读
  5. 【Qt】获取、设置环境变量

    2024-04-24 12:10:01       34 阅读
  6. 静态路由动态路由区别

    2024-04-24 12:10:01       67 阅读
  7. /*局部变量与静态局部变量区别*/

    2024-04-24 12:10:01       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-24 12:10:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-24 12:10:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-24 12:10:01       87 阅读
  4. Python语言-面向对象

    2024-04-24 12:10:01       96 阅读

热门阅读

  1. go实现异常捕捉

    2024-04-24 12:10:01       37 阅读
  2. 详细解读DreamFusion

    2024-04-24 12:10:01       31 阅读
  3. 使用 torchtune 微调 Llama3

    2024-04-24 12:10:01       31 阅读
  4. 【Nginx】MACOS 安装与部署

    2024-04-24 12:10:01       38 阅读
  5. Hadoop入门学习路线

    2024-04-24 12:10:01       36 阅读
  6. LeetCode 每日一题 Day 137-143

    2024-04-24 12:10:01       35 阅读
  7. 【数据结构】 单向链表的实现

    2024-04-24 12:10:01       87 阅读