Deno 与 Angular 结合开发前端应用的技巧

阅读时长 9 分钟读完

Deno 是一个运行时环境,用于在 JavaScript 和 TypeScript 上执行代码。它是由 Node.js 的创造者 Ryan Dahl 开发的,旨在解决 Node.js 的一些设计问题,如缺乏安全性、package 管理不易等。与 Node.js 不同的是,Deno 不使用 package.json 管理依赖,而是通过使用 URL 添加远程依赖来解决依赖管理问题。

Angular 是一种流行的前端框架,用于开发单页应用程序(SPA)。 它的主要优点是令人难以置信的模块化和模板化而获得广泛的使用。

Deno 和 Angular 之间有什么联系? 在本文中,我们将讨论如何将 Deno 与 Angular 结合使用,以及如何为前端项目提供更深入的技术指导。

安装 Deno 和 Angular CLI

首先,我们需要确保本地计算机上已安装 Deno 和 Angular CLI。 安装 Deno 非常简单。 你只需要在你的命令行终端中运行以下命令:

这将下载 Deno 所有必要的依赖包并安装它们。 安装完毕后,你可以运行以下命令来验证 Deno 是否已正确安装:

相同的方法也适用于安装 Angular CLI。 你只需要在你的命令行终端中运行以下命令:

安装完毕后,你可以运行以下命令来验证 Angular CLI 是否已正确安装:

使用 Deno 建立 Angular 项目

要开始 Deno 和 Angular 的深度结合,我们需要建立一个 Angular 项目。 首先,创建一个新的目录以作为你的项目根目录。 接下来,输入以下命令以初始化 Angular 项目:

这将创建 Angular 默认的启动项目 my-app。 完成后,切换至该项目文件夹并输入以下命令启动开发服务器:

现在项目可以正常运行了。 但是,我们需要移除一些默认的 Angular 依赖以便于接下来的步骤。 我们可以使用 Deno 的依赖管理功能来完成依赖的移除。 创建 deno 实验性项目,Deno 默认会使用 TypeScript, 我们也将使用 TypeScript。

在 app.ts 文件中添加以下代码,以便使用 Deno 的依赖管理功能移除默认 Angular 依赖 :

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

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

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

运行以下命令以拉取 Angular 项目中使用的所有依赖,该命令使用 Deno 的依赖管理功能,因此安全性相对其他 npm 等包管理器高很多。

执行完后,Deno 会在文件夹中创建一个名为 deps/ 的目录。 该目录包括 Angular 项目中使用的所有依赖项和库。 你可以在 Deno 官方网站的文档中阅读有关依赖管理的更多信息。

在 Deno 中使用 Angular HTTP

Angular 提供了一个用于发起 HTTP 网络请求的模块,名为 HttpClientModule。 然而,在 Deno 中,不能直接使用 Angular 中的 HttpClientModule 模块。 相反,我们可以使用其他基础库,如标准的 fetch 函数发起网路请求。

创建一个名为 http.service.ts 的新 Angular 服务,并将以下代码添加到该服务文件中:

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

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

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

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

该服务已准备就绪,我们现在可以使用该服务来获取数据。 例如,要从 JSONPlaceholder API 中获取用户列表,可以在某个 Angular 组件中使用该服务:

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

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

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

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

在 Deno 中使用 Angular Router

Angular Router 是一个用于实现应用程序导航的框架。 它允许用户通过特定的 URL 访问应用程序的不同部分。 通常使用 Angular Router 来构建单页应用程序。

可以在 Angular 中使用 Router 来为该组件添加导航功能。 以下是如何在 Deno 中使用 Angular Router:

创建一个名为 routing.service.ts 的新服务,并将以下代码添加到该服务文件中:

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

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

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

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

在此示例中,我们为“/” 和“/about”路径定义了两个组件。 HomeComponent 和 AboutComponent 也是 Angular 组件,类似于上面的 AppComponent。 你需要将这些组件添加到你的项目中。

接下来,将 app.module.ts 文件导入 RoutingService 并使用 RoutingService.getRoutes() 方法初始化视图路由。 可以使用以下代码完成此操作:

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

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

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

最后,创建两个新的 Angular 组件 HomeComponent 和 AboutComponent,用于处理我们创建的两个路径。以下是 HomeComponent 和 AboutComponent 的定义:

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

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

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

通过这种方式,我们可以在 Deno 中使用 Angular Router,并为项目创建路由。 我们可以使用 RouterLink 指令在组件中添加链接,从而实现分页浏览。

结论

在本文中,我们讨论了如何将 Deno 和 Angular 结合使用,以及如何为前端项目提供更深入的技术指导。 我们介绍了如何使用 Deno 的依赖管理功能移除默认的 Angular 依赖,如何使用 Angular HTTP 和 Router 模块,以及如何为组件添加导航功能。

Deno 和 Angular 的结合将为前端开发带来更高效的工作流和更高的编码质量。 请随时尝试这些技术,并在遇到任何问题时查看官方文档或其他资源,这可以帮助你更好地了解和应用这些技术。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6714ca23ad1e889fe215d126

纠错
反馈