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

news/2024/11/9 16:46:04/

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 来从构建过程中注入环境变量。两者在设置方式、动态性和静态性上都有所不同,需要根据具体环境和需求选择合适的方式来使用环境变量。


http://www.ppmy.cn/news/1440334.html

相关文章

Flutter Get国际化和实现原理简析

Flutter Get国际化入门和实现原理简析 前言使用方法1、配置依赖包2、配置国际化相关参数3、配置en_US和zh_CN4、配置Translations5、 构建的页面:原理分析1、tr原理分析2、 updateLocale原理分析参考资料:前言 Flutter的Get插件提供了国际化功能,使用起来很方便,下面就其简…

HarmonyOS 实战开发-MindSpore Lite引擎进行模型推理

场景介绍 MindSpore Lite 是一款 AI 引擎,它提供了面向不同硬件设备 AI 模型推理的功能,目前已经在图像分类、目标识别、人脸识别、文字识别等应用中广泛使用。 本文介绍使用 MindSpore Lite 推理引擎进行模型推理的通用开发流程。 基本概念 在进行开…

css flex布局两个元素水平居中垂直居中

文章目录 问题描述解决方案 问题描述 大家好!今天是2024年4月23日|农历三月十五,马上就快到五一假期啦,今天这博文主要以使用flex布局,让两个元素水平居中垂直居中,具体实现效果如下: 让图片和文字描述水平…

网络安全等级保护定级指南PPT解读

新版网络安全等级保护定级指南网络安全等级保护工作的作用对象,主要包括基础信息网络、工业控制系统、云计算平台、物联网、使用移动互联技术的网络和大数据等。 软件全套精华资料包清单部分文件列表: 工作安排任务书,可行性分析报告&#xf…

【网站项目】考研助手

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

clickhouse学习笔记05

ClickHouseSpringBoot2.XMybatisPlus整合搭建 添加需要的依赖: 添加clickhouse依赖: 配置数据库配置: 我们框架就搭建完了。 ClickHouse的项目案例统计需求讲解 ClickHouse的项目案例统计库表和数据准备 添加数据: 数据都插入进来…

C语言:实现N的阶乘

递归&#xff1a; #include<stdio.h> long long Fet(int n) { if (n < 1) return 1; else return n * Fet(n - 1); } int main() { int n 0; scanf_s("%d", &n); int r Fet(n); printf("%d",r); ret…

css中新型的边框设置属性border-block

border-block 是 CSS 中的一个属性&#xff0c;主要用于在样式表中一次性设置元素的逻辑块向边框的属性值。这个属性是简写属性&#xff0c;可以同时设置 border-block-width、border-block-style 和 border-block-color。其中&#xff0c;border-block-start 用于设置元素的开…