简介
在现代 web 开发中,开发者通常会使用多个工具和环境来帮助他们完成工作,而这些工具和环境往往需要一些环境变量的配置来正确运作。但是,在工程中存在逾期的环境变量将可能导致应用程序的不稳定甚至宕机,更糟糕的是可能会暴露敏感信息。
一个流行的解决方案是使用 strict-env
,一个 npm 包,它可以确保您的代码只在存在所需环境变量的情况下运行。这篇文章将带您了解如何使用这个包。
安装
通过 npm 进行安装:
npm install --save-dev strict-env
使用
strict-env
不需要任何设置即可工作。使用时只需在需要执行的 js/ts
文件中引入它,例如:
require('strict-env')();
这样,在启动时,strict-env
将扫描您的代码并检查是否存在所有必需的环境变量。如果至少一个环境变量未设置或设置为空,则代码将停止执行并抛出相应的错误。否则,您的代码将继续运行。
为了指定所需环境变量,只需将其添加到您的 .env
文件中。.env
文件应放置在您的项目的根目录中。在 .env
文件中,每个变量应该像这样设置:
MY_VAR=value
如果您使用的是 TypeScript,则您可以通过创建一个 @types/strict-env
模块的声明文件来获得类型提示。
// .d.ts 文件 declare module 'strict-env';
示例
下面是一个示例应用程序,它使用了 strict-env
包来确保其在运行时使用了必要的环境变量。
-- -------------------- ---- ------- ------------------------ ----- ------- - ------------------- ----- --- - ---------- ----- ---- - ---------------- -- ----- -- ------- ----- --------------- - ---------------- ----------- -- ------------- ------------------------------ -- - -- ---------------------- - ----- --- ------------------ -------- --------- -- ----------- - --- -- -------------- ---------------- -- -- - ------------------- ------- -- ---- - - ------ ---
以上代码将首先调用 require('strict-env')()
,它会检查是否存在所需的环境变量。如果其中有一个未定义,那么程序将在这里终止并抛出错误。
接下来,我们检查一些必需的环境变量,并确保它们都已经存在。
最后,我们使用 Express.js 启动服务器并开始监听请求。如果您已经设置了 PORT
环境变量,服务器将在端口号上提供服务,否则它将使用本地端口 3000
。
总结
在本文中,我们看到了如何安装和使用 strict-env
来确保您的代码需要的环境变量都已经存在。通过这样的方法,我们可以避免由于环境变量缺失而导致的问题,并将代码的可靠性提升到一个新的水平。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005725b81e8991b448e8811