专栏首页京程一灯从.env文件中为NodeJS加载环境变量[每日前端夜话0xA9]

从.env文件中为NodeJS加载环境变量[每日前端夜话0xA9]

每日前端夜话0xA9

每日前端夜话,陪你聊前端。

每天晚上18:00准时推送。

正文共:643 字

预计阅读时间:5 分钟

作者:Staff

翻译:疯狂的技术宅

来源:coderrocketfuel

使用环境变量是配置 Node.js 程序的好方法。而且许多包或模块可以基于不同的 NODE_ENV 变量的值表现出不同的行为。

存储环境变量的一种方法是将它们放在 .env 文件中。这些文件允许你指定各种环境变量及其相应的值。

在大多数情况下,你不希望将 .env 文件添加到源代码控制中(即Git)。因此,应该将它的文件名添加到 .gitignore 文件中,以确保在以后的提交中都被排除在外。

要达到这个目的,应该先在 Node.js 项目的根目录中创建一个 .env 文件:

$ touch .env

并以 NAME = VALUE 的形式在添加特定于环境的变量。

# .env
PASSWORD="12345"

太好了!现在有了一个带有我们想要使用的变量的 .env 文件。但是应该如何将该变量加载到我们的代码中呢?

最简单的方法是使用名为 dotenv 【https://github.com/motdotla/dotenv#readme】的 npm 模块。它将为我们完成所有繁重的工作。

你可以使用以下命令中的任何一个来安装它:

# Npm
npm install dotenv --save

# Yarn
yarn add dotenv

成功安装 npm 软件包后,将以下两行添加到入口文件的顶部:

//Node.js
const dotenv = require("dotenv")
dotenv.config()

在程序中尽早添加 dotenv.config() 这一行,以确保所有代码都可以访问你的变量。

process.env 现在具有在 .env 文件中定义的键和值。

你可以通过在 .env 文件中记录变量来测试它:

// Node.js
console.log(process.env.PASSWORD) //"12345"

运行代码时,应该能够在命令行输出中看到变量的值。

查看 dotenv 文档获取更多信息。【https://github.com/motdotla/dotenv】

希望本文对你的编码工作很有帮助!感谢阅读,请在下面的评论中告诉我你的想法。

原文:https://coderrocketfuel.com/article/how-to-load-environment-variables-from-a-.env-file-in-nodejs

本文分享自微信公众号 - 前端先锋(jingchengyideng),作者:疯狂的技术宅

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 原生小程序之工程化探索

    习惯用webpack对项目开发工程化,接触小程序后,稍微有点不适应,市面上有taro等优秀的小程序框架可以使用,由于负责项目历史背景,而无法大规模改造,因此只能...

    疯狂的技术宅
  • 动手实现一个简易的webpack

    npm install --dev-save @babel/core @babel/preset-env @babel/traverse babylon mag...

    疯狂的技术宅
  • 一个不小心,就把公司JS代码变成了圣诞树,CTO让我滚回家~

    2、把js代码分割成一小块,尽量小。然后用逐行填充的方式,分别替换到上一步生成的字符画里去

    疯狂的技术宅
  • webpack编译打包出现的问题!

    最近使用webpack打包编译文件的时候,遇到个奇怪的问题,找不到源头,具体报错如下:

    杭州前端工程师
  • Jvm数据区域与垃圾收集<深入了解jvm读书笔记>

    周志明老师所著的《深入了解JAVA虚拟机》(后文简称”书中”)可谓是java工程师进阶的必读书籍了.最近读了书中的第一二部分,也就是前五章,有很多收获.因此想要...

    呼延十
  • 震撼三连击,5000万Coni+100%手续费分红+巨额福利金,等你来拿!

    规则:每小时将用户产生的交易手续费100% 折算等值Coni 进行累积(按Coni每小时收盘价折算),次日中午12点统一返还。一期Coni总量为5000W,挖完...

    区块链领域
  • SQL 生成连续的编号

    给大家一分钟,请思考:在你熟悉的数据库里使用 SQL 快速生成 001~999 的编号有哪些方法。

    白日梦想家
  • 大四学生开发AI代码补全神器:支持23种语言及5大编辑器

    现在的大学生能有多厉害?一个加拿大的大四学霸,利用业余时间,开发了一款叫做Deep TabNine的代码补全工具,赚到了第一桶金,且含金量非常高。

    新智元
  • 在类路径或引导类路径中找不到程序包 java.lang

    Raindew
  • maven报错列表集

    1.致命错误: 在类路径或引导类路径中找不到程序包 java.lang 解决方法:找到compilerArguments标签 Windows分隔符英文分号;

    Java架构师历程

扫码关注云+社区

领取腾讯云代金券