npm 包 strict-env 使用教程

简介

在现代 web 开发中,开发者通常会使用多个工具和环境来帮助他们完成工作,而这些工具和环境往往需要一些环境变量的配置来正确运作。但是,在工程中存在逾期的环境变量将可能导致应用程序的不稳定甚至宕机,更糟糕的是可能会暴露敏感信息。

一个流行的解决方案是使用 strict-env,一个 npm 包,它可以确保您的代码只在存在所需环境变量的情况下运行。这篇文章将带您了解如何使用这个包。

安装

通过 npm 进行安装:

--- ------- ---------- ----------

使用

strict-env 不需要任何设置即可工作。使用时只需在需要执行的 js/ts 文件中引入它,例如:

------------------------

这样,在启动时,strict-env 将扫描您的代码并检查是否存在所有必需的环境变量。如果至少一个环境变量未设置或设置为空,则代码将停止执行并抛出相应的错误。否则,您的代码将继续运行。

为了指定所需环境变量,只需将其添加到您的 .env 文件中。.env 文件应放置在您的项目的根目录中。在 .env 文件中,每个变量应该像这样设置:

------------

如果您使用的是 TypeScript,则您可以通过创建一个 @types/strict-env 模块的声明文件来获得类型提示。

-- ----- --
------- ------ -------------

示例

下面是一个示例应用程序,它使用了 strict-env 包来确保其在运行时使用了必要的环境变量。

------------------------

----- ------- - -------------------
----- --- - ----------
----- ---- - ---------------- -- -----

-- -------
----- --------------- - ---------------- -----------

-- -------------
------------------------------ -- -
  -- ---------------------- -
    ----- --- ------------------ -------- --------- -- -----------
  -
---

-- --------------
---------------- -- -- -
  ------------------- ------- -- ---- - - ------
---

以上代码将首先调用 require('strict-env')(),它会检查是否存在所需的环境变量。如果其中有一个未定义,那么程序将在这里终止并抛出错误。

接下来,我们检查一些必需的环境变量,并确保它们都已经存在。

最后,我们使用 Express.js 启动服务器并开始监听请求。如果您已经设置了 PORT 环境变量,服务器将在端口号上提供服务,否则它将使用本地端口 3000

总结

在本文中,我们看到了如何安装和使用 strict-env 来确保您的代码需要的环境变量都已经存在。通过这样的方法,我们可以避免由于环境变量缺失而导致的问题,并将代码的可靠性提升到一个新的水平。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005725b81e8991b448e8811


猜你喜欢

  • npm 包 bl-image-size 使用教程

    随着前端技术的发展,我们在开发过程中经常需要处理图片大小的问题。可能需要在网页中展示不同大小的图片版本,或者需要检测上传的图片是否符合预期的大小规范等。在这种情况下,我们可以使用一个 NPM 包叫做 ...

    3 年前
  • npm 包 @pmilitowski/xlsxstream 使用教程

    简介 xlsxstream 是一个基于 Node.js 的 Excel 文件处理工具,它可以帮助我们快速地将 Excel 文件读入到程序中,并进行处理。此包可以在前端和后端均可使用。

    3 年前
  • npm包 gitbook-plugin-devops-analytics 使用教程

    随着 DevOps 方法论在软件开发中越来越受欢迎,对于 DevOps 实践的分析、评估、监控等方面的需求也越来越强烈。针对这一需求,本文作者基于知名的文档网站生成工具 Gitbook,开发了一个插件...

    3 年前
  • npm 包 @clouddb/couch-core 使用教程

    前言 @clouddb/couch-core 是一个基于 CouchDB 的 Node.js 包,用于处理 CouchDB 中 JSON 数据的 CRUD 操作。在本教程中,我们将介绍如何在 Node...

    3 年前
  • npm 包 thing-it-device-riot 使用教程

    前言 随着物联网的快速发展,越来越多的设备需要通过互联网进行远程控制和数据传递,那么如何高效地实现这个过程呢?素有“前端之父”之称的 Brendan Eich 创造的 JavaScript 技术就成为...

    3 年前
  • npm 包 react-yelling 使用教程

    在前端开发中,构建交互式应用需要使用到各种前端框架和库。React 是目前最流行的前端框架之一,它能够以声明式编程的方式轻松构建 UI 组件,并且通过虚拟 DOM 技术优化了性能问题。

    3 年前
  • npm 包 @clouddb/hbase-core 使用教程

    什么是 @clouddb/hbase-core @clouddb/hbase-core 是一个 npm 包,它提供了与 HBase 数据库的交互能力。HBase 是一个分布式、可扩展、高性能的 NoS...

    3 年前
  • npm 包 @clouddb/dynamo-core 使用教程

    1. 前言 @clouddb/dynamo-core 是一个基于 Node.js 开发的 DynamoDB 数据库操作库,它通过提供一系列简单易用的 API 接口,使得利用 Node.js 开发 Dy...

    3 年前
  • npm 包 @clouddb/level-core 使用教程

    1. 前言 在前端开发中,为了提高开发效率和便捷性,我们经常使用各种包和库来帮助我们完成一些工作。其中,npm 包是最为常见和重要的一类包。在本文中,我们将介绍一个非常有用的 npm 包 - @clo...

    3 年前
  • npm 包 @clouddb/redis-core 使用教程

    前言 Redis 是一种高性能 Key-Value 数据库,经常用于缓存、消息队列、计数器等场景。@clouddb/redis-core 是一个基于 Redis 封装的 Node.js 库,提供了方便...

    3 年前
  • npm 包 @clouddb/mongo-core 使用教程

    在这个时代,前端开发不仅需要掌握 HTML、CSS、JavaScript 等基本技能,还需要了解一些后端开发技术,前端开发人员几乎都需要接触数据库。MongoDB 是一种最受欢迎的 NoSQL 数据库...

    3 年前
  • npm 包 movable-stream 使用教程

    在前端开发中,经常需要处理大量的数据流。movable-stream 是一个优秀的 npm 包,它提供了强大的流处理能力。本文将介绍如何使用 movable-stream。

    3 年前
  • npm 包 smart-import 使用教程

    在前端开发中,我们经常需要引入很多的模块,而每次手动引入模块是一件很繁琐的事情。而 npm 包 smart-import 就提供了一种快速引入模块的方法。本文将为大家介绍如何使用 smart-impo...

    3 年前
  • npm 包 gray-components 使用教程

    在前端开发中,我们经常需要使用各种 UI 组件来构建应用界面。而在实际开发中,编写和维护这些组件往往非常耗时和困难。为此,开发者们开发了许多优秀的 UI 库和组件库,通过这些库,开发者们可以轻松地实现...

    3 年前
  • npm 包 themer-termite 使用教程

    前言 在开发前端项目的过程中,我们通常需要选择合适的配色方案来美化我们的页面。themer-termite 是一个基于 Node.js 平台的 npm 包,可以用来生成适用于 Termite 终端模拟...

    3 年前
  • npm包node-password-storage使用教程

    简介 node-password-storage是一个基于Node.js的密码存储包,使我们可以将散列密码安全地存储在数据库中,同时也可以验证用户输入的密码是否正确。

    3 年前
  • npm 包 node-steam-userinfo 使用教程

    Steam 是一个非常流行的在线游戏平台,许多游戏都要使用它进行登录验证等相关操作。在开发 Steam 相关的应用程序时,我们通常需要获取用户信息,例如昵称、头像等。

    3 年前
  • npm 包 vue-scroll-loadmore 使用教程

    vue-scroll-loadmore 是一个 Vue.js 的插件,它可以实现滚动加载更多的功能。这个插件会在一个容器(如一个 div)内,监听滚动条滚动事件,当滚动到底部时,会触发一个加载更多的事...

    3 年前
  • NPM 包 agile-cli 使用教程

    什么是 agile-cli agile-cli 是一个前端自动化工具集成的解决方案,旨在帮助前端开发者提高工作效率。它基于 Node.js 的 npm 包管理器搭建,并支持多种任务类型,包括 Sass...

    3 年前
  • npm 包 @jimpick/distjs-dat 使用教程

    简介 npm 包 @jimpick/distjs-dat 是一个提供 de-centralized web 服务的 JavaScript 库。它基于 Hypercore Protocol 构建,用于在...

    3 年前

相关推荐

    暂无文章