最后,您可以跳过节点中的dotenv
#javascript #node #npm

node.js已在后端开发的最前沿已有十多年了,这主要是由于其可扩展性和有效的性能。每个新版本都带来了无数旨在简化开发的功能,而Node.js v20.6也不例外。本版本中的一个小但高度赞赏的功能是用于配置环境变量的内置.env文件支持。

什么是.env文件?

环境变量是现代发展工作流的关键部分。它们可让您存储敏感的信息,应用程序配置,甚至运行时设置,从应用程序代码远离运行时。 .env文件已成为管理这些变量的事实上的标准。虽然环境变量通常被注入生产容器中,但是在本地开发过程中,通常在.env.test.env.development中具有变量。

它是如何工作的?

在v20.6之前,处理环境变量通常使用dotenv(例如dotenv)的外部库,该变量将解析.env文件并将变量注入process.env。使用此新功能,您可以将.env文件作为参数直接传递给Node.js Runtime。

句法

应该将.env文件格式化为INI文件,这意味着每行都包含一个用于环境变量的键值对。例如,您的.env文件可能看起来像这样:

DB_URL=foo
JWT_SECRET=foo
LOG_LEVEL=debug

运行您的应用程序

您可以使用以下CLI命令来初始化Node.js应用程序,并使用预定义的配置:

node --env-file=config.env index.js

这将加载从config.env的所有环境变量到您的应用程序的环境中。例如,您现在可以如下访问密码:

const DB_URL = process.env.DB_URL;

.env中的node_options

此新功能不仅停止处理您的自定义环境变量。它也扩展到内置Node.js选项。传统上,定义NODE_OPTIONS将涉及将它们包括在您的package.json中或在运行应用程序之前将它们设置在外壳中。有了这个新的内置.env支持,您可以将node_options直接包含在.env文件中。

例如,您的.env文件可以包含:

NODE_OPTIONS=--experimental-modules --inspect
LOG_LEVEL=debug

为什么这很重要?

简化的工作流
此更改通过本质地纳入Node.js开发中已经是事实上的标准来简化开发人员的体验。

更少对外部软件包的依赖
通过将此功能纳入核心,Node.js减少了开发人员需要熟悉的第三方软件包的数量,从而更容易启动和运行。

统一配置
此功能还鼓励采用更统一的配置方法,将环境变量和节点选项带入一个易于管理的文件。

您可能仍然需要第三方图书馆才能前端

node.js 20.6凭借其内置的.env支持简化了环境变量管理,但请务必注意,此功能不会扩展到反应和反应本机。这些框架在生产中不利用node.js运行时,并且有自己的构建过程和运行时间。结果,开发人员可能仍需要依靠现有方法来进行环境变量管理。例如,旧版React项目经常使用create-react-app之类的工具,该工具以其自己的方式处理.env文件,而React Native开发人员可能会转向react-native-config等库。任何较新的项目都可能使用具有内置支持的Vite,Astro和Similiar。

node.js v20.6添加内置的.env文件支持不仅仅是一个便利功能;这是在越来越多地受到Deno和Bun等新手影响的景观中保持竞争优势的战略举动。这些新兴技术已经重点关注开发人员的经验,从而推动Node.js在本地发展并纳入这种增强功能。此更新不仅是关于简化node.js中的应用程序开发;这也是要应对挑战并在快速不断发展的生态系统中设置高棒。