博客
关于我
Node.js中环境变量process.env详解
阅读量:792 次
发布时间:2023-02-16

本文共 1527 字,大约阅读时间需要 5 分钟。

Node.js中环境变量process.env详解

在Node.js开发过程中,process.env 是一个常用的全局变量,用于获取和设置与Node.js进程相关的环境信息。它在开发中具有重要作用,特别是在处理不同环境配置时。

process.env的基本用途

process.env 是一个全局对象,所有Node.js模块都可以访问。它主要用于存储和获取与环境相关的变量。最常见的用途是通过NODE_ENV环境变量判断当前运行环境(例如生产环境或开发环境)。

例如,在代码中可以这样使用:

if (process.env.NODE_ENV === 'production') {    // 读取生产环境的配置文件    module.exports = require('./prod.js');} else {    // 读取开发环境的配置文件    module.exports = require('./dev.js');}

如何配置不同的环境变量

在实际项目中,我们需要根据不同的环境配置process.env的值。以下是常用的操作方法:

Windows配置

临时配置

在命令提示符中,可以通过以下命令临时设置NODE_ENV

set NODE_ENV=dev

如果需要设置为生产环境:

set NODE_ENV=production

要清除临时设置,可以执行:

set NODE_ENV=

永久配置

通过系统设置手动配置环境变量:

  • 右键点击“此电脑”。
  • 选择“属性”。
  • 在高级系统设置中选择“环境变量”。
  • 在“系统变量”部分中找到NODE_ENV,双击选择并修改值。
  • Linux配置

    临时配置

    在终端中,可以通过以下命令临时设置NODE_ENV

    export NODE_ENV=dev

    清除临时设置,可以使用:

    unset NODE_ENV

    ####永久配置通过修改shell配置文件来设置环境变量:

  • 打开~/.bash_profile文件(如果使用zsh,可以使用~/.zshrc)。
  • 在文件末尾添加以下内容:
  • export NODE_ENV=production

    或者自定义其他值:

    export NODE_ENV=staging

    完成后,运行:

    source ~/.bash_profile

    这样所有用户都会继承新的环境变量设置。

    使用环境变量解决问题

    在开发过程中,通过设置不同的NODE_ENV值,可以避免后端接口变换问题。例如,在不同环境中配置后端地址:

  • 修改代码中的后端地址配置,利用process.env.NODE_ENV来判断:
  • const baseUrl = process.env.NODE_ENV === 'production' ? 'https://api.prod' : 'http://api.dev';
    1. 在开发环境中,执行以下命令:
    2. export NODE_ENV=dev
      1. 如果使用Nginx作为反向代理,确保它正确解析请求路径。
      2. 通过上述方法,可以灵活管理不同环境下的配置,提升开发效率和维护性。

        注意事项

        • 环境变量追加值:在Windows中,可以通过命令设置多个路径:
        set path=%path%;C:\web;C:\Tools

        在Linux中,设置多个路径:

        export path=$path:/home/download:/usr/local/
        • 删除环境变量:在Windows中,可以使用:
        set NODE_ENV=

        在Linux中,可以使用:

        unset NODE_ENV

        通过合理配置process.env,可以有效管理Node.js进程的环境信息,提升项目的可维护性和扩展性。

    转载地址:http://vpjfk.baihongyu.com/

    你可能感兴趣的文章
    Nginx配置好ssl,但$_SERVER[‘HTTPS‘]取不到值
    查看>>
    Nginx配置如何一键生成
    查看>>
    Nginx配置实例-负载均衡实例:平均访问多台服务器
    查看>>
    Nginx配置文件nginx.conf中文详解(总结)
    查看>>
    Nginx配置负载均衡到后台网关集群
    查看>>
    ngrok | 内网穿透,支持 HTTPS、国内访问、静态域名
    查看>>
    NHibernate学习[1]
    查看>>
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表或全表增量同步_实现指定整库同步_或指定数据表同步配置_04---大数据之Nifi工作笔记0056
    查看>>
    NIFI1.23.2_最新版_性能优化通用_技巧积累_使用NIFI表达式过滤表_随时更新---大数据之Nifi工作笔记0063
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_无分页功能_02_转换数据_分割数据_提取JSON数据_替换拼接SQL_添加分页---大数据之Nifi工作笔记0037
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    nifi使用过程-常见问题-以及入门总结---大数据之Nifi工作笔记0012
    查看>>