使用 Deno 和 PostgresSQL 创建一个数据库管理应用程序

面试官:小伙子,你的代码为什么这么丝滑?

简介

Deno 是一个运行时环境,它使用 JavaScript 和 TypeScript 构建。它是开源的,并由 Ryan Dahl 创立。Deno 充分利用了现代化的 JavaScript 特性(如 Promises 和 Async/Await)。

PostgreSQL 是一个流行的关系型数据库管理系统。它是高性能、可扩展的,且拥有数十年的发展历史。它是开源的,并由全球开发者社区支持。

在本文中,我们将创建一个基于 Deno 和 PostgreSQL 的数据库管理应用程序。我们将使用这个应用程序来连接到数据库,执行查询并更新数据。

安装 Deno

要使用 Deno,需要首先安装它。在安装之前,请确保已安装以下软件:

  • Git
  • curl 或 PowerShell

安装 Deno 的方法有多种,其中之一是使用 Shell 脚本。在终端中运行以下命令安装 Deno:

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

或者,如果你使用 PowerShell,运行以下命令:

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

安装成功后,可以在终端中运行以下命令检查 Deno 版本:

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

这将输出 Deno 的版本号。

安装 PostgreSQL

要将 Deno 与 PostgreSQL 集成,需要先安装 PostgreSQL。在安装之前,请确保已安装以下软件:

  • PostgreSQL 服务器和客户端
  • Node.js 和 npm

在安装 PostgreSQL 服务器和客户端后,需要先创建一个新的数据库和用户。在终端中运行以下命令:

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

在 psql 中输入以下命令:

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

在退出 psql 后,需要配置 PostgreSQL 服务器以允许本地开发。在终端中打开 /etc/postgresql/{version}/main/pg_hba.conf 文件并更改以下行:

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

最后,重新启动 PostgreSQL 服务器使更改生效:

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

安装 Deno 第三方模块和依赖项

接下来,需要安装 Deno 第三方模块和依赖项。在终端中运行以下命令:

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

dex 是 Deno 内置的 PostgreSQL 驱动程序。dotenv 可以让我们从 .env 文件中读取环境变量。

创建数据库管理应用程序

创建新项目并打开终端。运行以下命令以创建新文件夹和文件:

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

在 .env 文件中添加以下行:

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

接下来,在 index.ts 文件中添加以下代码:

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

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

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

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

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

这段代码创建了一个名为 users 的表格,并为其添加了 id、email、password 和 timestamps 列。

运行以下命令在数据库中创建表:

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

接下来,我们将使用上面创建的数据库表格添加、更新和删除数据。

在 index.ts 文件中添加以下代码:

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

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

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

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

结论

在本文中,我们学习了如何使用 Deno 和 PostgreSQL 创建一个数据库管理应用程序。我们了解了如何安装 Deno 和 PostgreSQL、如何创建新项目和文件、如何安装 Dex 和 dotenv 第三方模块和依赖项,并编写了使用 Dex 连接到数据库、创建表、插入数据、更新数据和删除数据的代码。

此应用程序只是一个简单的示例,但你可以使用它添加更多的功能来管理数据库。如果你想学习更多关于 Deno 和 TypeScript 的知识,请务必查看官方文档和教程。

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


猜你喜欢

  • SASS 与 Less 的区别及其应用场景

    前端开发中,CSS 预处理器已经成为了不可或缺的一部分。不仅可以提高开发效率,而且可以使 CSS 代码更加易于维护。SASS 和 Less 是最常见的 CSS 预处理器,它们都提供了许多功能,但在某些...

    9 天前
  • 解决 ES11 中 Promise API 的一些常见使用问题

    引言 ES11 中推出的 Promise API 具有强大和灵活的异步编程功能。然而,一些常见使用问题仍然会导致程序出现非预期行为。本文将介绍这些问题并提供解决方案,并为读者带来深入的理解和指导。

    9 天前
  • 开发过程中如何保证 Sequelize 的数据安全性

    在开发 web 应用程序时,数据的安全性是至关重要的。Sequelize 是一个流行的 Node.js ORM 库,可以帮助我们更轻松地操作数据库。但是,在使用 Sequelize 时,我们需要确保数...

    9 天前
  • 如何构建基于 Server-Sent Events 的实时网站

    如何构建基于 Server-Sent Events 的实时网站 在现代 Web 应用程序中,实时性变得越来越重要。用户已经习以为常地期望能够在任何时候看到数据的变化。

    9 天前
  • 在使用 LESS 编译时,文件更改后无法重载问题的解决方法

    LESS 是一种CSS预处理器,通过使用LESS,我们可以在CSS的基础上添加变量、嵌套、混合、函数等特性,使得CSS编写变得更加简单和高效。然而,当使用LESS编写完文件后,每次更改文件后都需要手动...

    9 天前
  • 优化数据库性能的最佳实践

    前言 数据库是任何应用程序的核心组件。在应用程序的整个生命周期中,数据库的性能一直是非常重要的。优化数据库性能可以增加应用程序的吞吐量,提高响应时间和可扩展性。这篇文章将针对前端类应用的数据库优化进行...

    9 天前
  • Fastify 框架集成 Redis 出现 408 错误解决方法

    介绍 Fastify 是一个优秀的 Node.js Web 框架,它以其出色的性能而著称。Redis 则是一个键值存储数据库,也被广泛应用于缓存和会话存储等方面。将 Fastify 框架和 Redis...

    9 天前
  • 无障碍性能问题中的错误排查技巧

    在构建网页时,无障碍性能是非常重要的一个方面。这关系到用户体验,尤其是遭受视力、听力、智力或运动障碍的用户。因此,很多国家都制定了无障碍性网页的标准。但即便我们遵守标准,也无法排除性能方面可能存在的问...

    9 天前
  • Headless CMS 上前端技术应用的技巧与方法

    随着现代 Web 应用程序的发展,许多企业和开发者在建立内容驱动的网站和应用程序时越来越多地使用无头 CMS(Headless CMS)来处理他们的内容需求。 无头 CMS 可以为前端端开发者提供一个...

    9 天前
  • Web Components—— 下一代 Web 组件规范

    前言 随着 Web 技术的不断发展,Web 应用的需求也越来越复杂。为了更好地组织和管理 Web 应用,前端界不断探索新的技术和规范。Web Components 就是其中之一,它是下一代 Web 组...

    9 天前
  • 使用 Jest 模拟 API 请求和响应以进行 React Native 测试

    在 React Native 开发中,API 请求和响应的测试是不可避免的。通常,我们会使用 Jest 来编写测试用例。在本文中,我们将介绍如何使用 Jest 模拟 API 请求和响应来进行 Reac...

    9 天前
  • MongoDB 中数据迁移的方法分享

    对于大型的 MongoDB 数据库,数据迁移是一项必要的操作。它可能因为不同的原因而被要求,例如需要迁移数据库到另一台服务器、迁移到较新的版本等。本文将向您介绍 MongoDB 中数据迁移的方法,包括...

    9 天前
  • Express.js 中 Joi 验证的使用教程

    Express.js 中 Joi 验证的使用教程 在前端开发中,数据的验证是一个非常重要的部分。在 Node.js 平台中,Joi 是一个强大的验证库,它可以用来验证表单输入的数据、API 参数等等。

    9 天前
  • Hapi 框架中 HTTP 请求的处理和管理

    Hapi 是一种 Node.js 的 Web 框架,它的目标是提供一个强大且易于使用的工具集,帮助开发者更加高效地构建 Web 应用程序。在 Hapi 中,处理和管理 HTTP 请求是实现功能的重要一...

    9 天前
  • RESTful API 中的数据访问指南

    RESTful API 是一种基于 HTTP 协议的应用程序编程接口,可以提供简单、可扩展和易于维护的数据访问接口。在前端开发中,尤其重要的是如何使用 RESTful API 进行数据访问。

    9 天前
  • 自定义元素如何实现筛选和排序功能

    随着Web应用和前端技术的发展,许多Web应用都需要实现筛选和排序的功能。这些功能可以使用户更轻松地浏览和找到所需的数据。本文将介绍如何使用自定义元素来实现筛选和排序功能,并提供示例代码。

    9 天前
  • 如何在 Sequelize 中实现复杂的查询以优化性能

    Sequelize 是一个流行的 Node.js ORM(对象关系映射)工具,用于在应用程序中管理数据库操作。在实际开发中,我们常常需要实现复杂的查询以满足业务需求,并且在大数据量的情况下,查询性能也...

    9 天前
  • 在 Vue.js 项目中使用 GraphQL 及其优劣势

    GraphQL 是一种用于 API 的查询语言,它由 Facebook 开发并于 2015 年开源发布。与 RESTful API 相比,GraphQL 具有更高的灵活性和可扩展性,因此它在现代 We...

    9 天前
  • 解决 ES9 中 Object.getOwnPropertyNames() 和 Object.getOwnPropertySymbols() 的问题

    在开发前端应用时,我们经常需要操作对象的属性。在 ES9 中,我们可以使用 Object.getOwnPropertyNames() 和 Object.getOwnPropertySymbols() ...

    9 天前
  • 验证性能优化效果的工具研究

    随着互联网的不断发展和普及,Web前端已经成为了互联网发展的重要组成部分。随着前端页面的复杂度不断增加,页面性能优化已成为了前端开发过程中不可忽视的一环。本文将介绍一些验证性能优化效果的工具,希望对广...

    9 天前

相关推荐

    暂无文章