如何在 Deno 模块中查找依赖项?

Deno 是一个现代化的 JavaScript 和 TypeScript 运行时环境,使用它可以在浏览器之外运行 JavaScript 以及 TypeScript 应用程序。与 Node.js 不同的是,Deno 不使用 npm 来管理依赖项,而是使用类似浏览器的方式将其放在 JavaScript 文件中。

在 Deno 中,在导入模块时,可以使用 URL 来定位模块的位置,这些 URL 必须指向远程服务器或文件系统目录之一。Deno 内置了一个名为 deno.land/std 的模块,其中包含了许多有用的模块用来处理各种任务,例如处理文件系统和网络请求。

但是,当你使用 Deno 开发应用程序时,你可能会遇到需要依赖于其他第三方库的情况。在本文中,我们将探讨如何在 Deno 模块中查找依赖项。

Deno 引入第三方库的几种方式

当 Deno 开发者想引入第三方库时,有几种可行的方法:

1. 直接导入本地文件

这是最简单的方式,如果你已经将第三方库下载下来,并放在某个文件夹下,你可以像导入本地模块一样 import 导入。例如:

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

然后就可以正常使用 hello 模块了。

2. 导入 URL

如果你在 Web 上找到了某个给定的 URL,你也可以将其导入到你的应用程序中。例如:

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

然后就可以像使用本地模块一样使用 someFunction 模块了。

3. 使用 Deno CLI

Deno CLI 提供了一种使用 deno cache 命令缓存本地依赖项的方法,例如:

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

运行此命令将会下载或更新 https://deno.land/std/http/server.ts,并将其缓存到本地机器上,这意味着在之后的运行时可以快速访问该模块。

4. 使用 Deno.land/x

与 npm 一样,Deno.land/x 是一个 Deno 代码库的集合,允许开发者使用命令行安装和更新第三方库。例如:

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

这将导入 Deno.land/x 代码库中的 http 模块。

使用 require 对象和 HTML 规范

Deno 还支持以下功能:

require 对象

Deno 中也提供了类似 Node.js 中的 require 对象。它可以对文件和文件夹进行导入,例如:

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

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

HTML 规范

Deno 还支持 HTML 规范中的 <script type="module"> 标签,例如:

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

使用 import_map.json

Deno 还提供了一种用于声明从哪个 URL 加载模块的文件的方式,称为 import_map.json。这个 JSON 对象列出了模块名称的别名以及指向实际模块 URL 的映射。

例如,下面的 import_map.json 映射了模块名 vue 到其实际 URL:

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

然后,我们可以像这样导入模块:

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

运行时,Deno 将查找并下载 https://cdn.jsdelivr.net/npm/vue@3.0.11/dist/vue.esm-browser.js,然后将其添加到应用程序中。

总结

本文介绍了在 Deno 模块中查找依赖项的几种方法,其中包括直接导入本地文件、导入 URL、使用 Deno CLI、使用 Deno.land/x、require 对象和 HTML 规范,以及使用 import_map.json。这些方法使得开发者能够根据自己的需要编写便捷的应用程序,并为其添加所需的依赖项。

希望本篇文章能够帮助您更好地掌握在 Deno 中查找和管理依赖项的技巧。下面是一个示例代码,它演示了如何使用上述技术进行导入。

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

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

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

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

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

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

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

祝你在 Deno 的开发中愉快!

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


猜你喜欢

  • 解决在 Webpack 编译环境下使用 Enzyme 出现的问题

    概述 在前端开发中,我们经常会使用 Webpack 这个模块打包工具,同时也会用到 Enzyme 这个 React 组件测试工具。但是,在使用 Enzyme 进行测试时,会出现一些问题,特别是在 We...

    1 年前
  • 使用 Mocha 和 Chai 进行 Vue.js 应用程序测试的最佳实践

    前言 在前端开发中,测试是非常重要的环节。随着 Vue.js 越来越受欢迎,Vue.js 应用程序测试也变得更加重要。在本文中,我们将介绍如何使用 Mocha 和 Chai 进行 Vue.js 应用程...

    1 年前
  • TypeScript 中开发常见的设计模式

    设计模式是在软件开发中经常用到的重要思想和方法。它们能够帮助开发者更加高效地解决问题,提高代码质量,降低维护成本。在 TypeScript 中,设计模式同样可以发挥重要作用。

    1 年前
  • CSS Reset 后字体、颜色失效怎么办

    CSS Reset 后字体、颜色失效怎么办 CSS Reset 是常用的一种前端技术,用于在开发网站时重置浏览器的默认样式,从而消除跨浏览器兼容性问题。然而,在使用 CSS Reset 之后,你可能会...

    1 年前
  • Mocha 和 Chai:如何测试 Express.js 应用?

    前言 在现代 Web 开发中,Express.js 是一个非常流行且被广泛使用的后端框架。与此同时,测试也是一个关键的步骤,可以确保我们的应用在交付之前具有高质量和稳定性。

    1 年前
  • 使用 PM2 监控 Node.js 应用的内存和 CPU

    Node.js 是一个高性能的 JavaScript 运行环境,适用于网络应用程序的构建。随着应用规模的增长,应用的管理变得越来越困难。这时候,我们需要一种监控和管理 Node.js 应用的工具。

    1 年前
  • Material Design UI Kit 的简洁主题:介绍 Starter Kit

    Material Design 是由 Google 推出的一种基于平面设计的设计语言,旨在为网站和应用程序提供一致的外观和感觉。Material Design UI Kit 是一个开源工具包,可帮助开...

    1 年前
  • Webpack 如何实现代码分析?

    Webpack 是一个非常强大的前端自动化构建工具,我们常常用它来打包我们的 JavaScript 和 CSS,但除此之外,Webpack 还能够对代码进行分析和优化。

    1 年前
  • Next.js 中使用 ESLint 的正确姿势

    ESLint 是一款非常有用的 JavaScript 代码检查工具,可以帮助开发者在编写代码的过程中发现潜在的 bug 和代码风格问题。在使用 Next.js 进行前端开发的过程中,如何正确地使用 E...

    1 年前
  • 使用 Workbox 实现在 PWA 中灵活控制缓存

    随着 PWA 技术的不断发展,前端开发人员越来越多地开始关注 PWA 中的应用缓存与更新问题。对于 PWA 发展的程度和用户体验来说,缓存非常重要。因此,在 PWA 中,如何灵活控制应用的缓存成为了前...

    1 年前
  • 在 Sails.js 项目中使用 Babel 的配置方法

    前言 Sails.js 是一个基于 Node.js 的 MVC 框架,它帮助开发者快速构建具备扩展性的 web 应用程序。随着前端技术的发展,越来越多的开发者开始使用 ES6 和其他新特性进行开发。

    1 年前
  • 在 Headless CMS 中使用 WebRTC 实现实时视频聊天功能

    简介 随着互联网技术的发展,实时通信已成为人们日常生活中不可或缺的一部分。WebRTC 是一种支持浏览器实现实时音视频通信的技术,它可以在 Web 网页中实现点对点视频通话、音乐会议、教育直播等场景的...

    1 年前
  • Redux 中如何实现打印功能?

    前言 在前端开发中,打印功能是一个很实用的功能,有时候我们需要将页面内容进行打印,比如生成报表、打印发票等等。本篇文章将介绍如何在 Redux 中实现打印功能,让我们一起来探讨吧! Redux 中的打...

    1 年前
  • Vue.js 中如何实现瀑布流效果

    瀑布流效果简介 瀑布流效果是一种展示图片(或其他元素)的方式,其特点是呈现出错落有致的不规则布局,更加美观。这种效果的实现需要动态计算和排列每个元素的位置,因此需要用到前端的一些布局技巧。

    1 年前
  • 道高一尺,魔高一丈!实战中解释如何使用 Tailwind CSS 轻松完成网站排版操作?

    道高一尺,魔高一丈!实战中解释如何使用 Tailwind CSS 轻松完成网站排版操作? 前端开发中,页面排版是一个让人头痛的问题。传统的 CSS 方式需编写大量代码,样式不易复用且排版难以达到一致。

    1 年前
  • Express.js 中 HTTPS 的实现方法

    Express.js 中 HTTPS 的实现方法 随着互联网的发展,安全性越来越受到关注。隐私数据泄露等安全问题已经成为网络中最大的威胁之一。因此,在项目中使用 HTTPS 加密协议来加强数据传输的安...

    1 年前
  • ES7 中如何利用 async/await 简化 Promise.catch 回调

    ES7 中如何利用 async/await 简化 Promise.catch 回调 在 JavaScript 中,异步操作是非常常见的,例如从服务器获取数据、执行文件 I/O 操作、延时操作等等。

    1 年前
  • RxJS 的 zip、combineLatest 和 forkJoin 操作符使用详解

    前言 RxJS 是 React 等前端框架中广泛采用的 Rx(Reactive Extension)库的 JavaScript 实现。RxJS 的主要作用是实现响应式编程,提供了一套异步操作的 API...

    1 年前
  • ECMAScript 2020 中的数值分隔符功能

    在 ECMAScript 2020 中,引入了一项新特性——数值分隔符(Numeric Separators),这项特性可以让你在数字的中间插入下划线来提高数字的可读性。

    1 年前
  • React Native 中使用 Alert 实现对话框

    介绍 在移动应用程序中,对话框是用于向用户显示一些信息并获取用户确认的一种交互方式。React Native 提供了一个内置的 Alert 组件,可以很方便地实现对话框功能。

    1 年前

相关推荐

    暂无文章