InfoQDeno 1.0 即将发布,你需要知道的都在这里了( 三 )
setInterval
setTimeout
AbortSignal
Blob
File
FormData
Headers
ReadableStream
Request
Response
URL
URLSearchParams
console
isConsoleInstance
location
onload
onunload
self
window
AbortController
CustomEvent
DOMException
ErrorEvent
Event
EventTarget
MessageEvent
TextDecoder
TextEncoder
Worker
ImportMeta
Location
这些都可以在程序的顶级范围内使用 。 这意味着如果你不去用 Deno() 命名空间上的任何方法 , 那么你的代码应该能同时与 Deno 和浏览器兼容 。 尽管这些 Deno API 并不是都 100%符合其等效的 Web 规范 , 但这对前端开发人员而言仍然是一个很大的好处 。
5ECMAScript 模块
相比 Node.js , Deno 的一项主要进步是它使用了官方的 ECMAScript 模块标准 , 而不是老式的 CommonJS 。 Node.js 直到 2019 年底才在 13.2.0 版本中启用 ECMAScript 模块 , 但支持还是不够成熟 , 并且仍然包含有争议的.mjs 文件扩展名 。
Deno 在模块系统中使用了现代 Web 标准 , 从而避免了旧时代的影响 。 模块使用 URL 或文件路径引用 , 并包含必需的文件扩展名 。 例如:
import * as log from "https://deno.land/std/log/mod.ts";import { outputToConsole } from "./view.ts";
使用文件扩展名的问题
Deno 期望模块具有文件扩展名 , 但 TypeScript 没有 。
本文插图
在任何地方都使用文件扩展名都是合乎逻辑的 , 并且似乎是显而易见的方法 。 不幸的是 , 实践中事情要复杂得多 。 现在 , 你可以使用 Visual Studio Code Extension 来为只用 Deno 的项目解决这个问题:
https://marketplace.visualstudio.com/items?itemName=axetroy.vscode-deno
对于 TypeScript 的创建者来说 , 这个问题似乎引起了争议 。 在我们最终放弃 CommonJS 之前 , 应该是不存在一种快速简便的解决方案的 。
让我们花点时间向明智而古老的编程之神祈祷吧 。 让他们废除这些传统格式 , 并惩罚那些损害我们所有人利益的守旧者 。
6包管理
本文插图
Deno 中包管理的工作机制是经过彻底的重新设计的 。 它是去中心化的 , 不依赖什么中央存储库 。 任何人都可以托管一个包 , 就像任何人都可以在 Web 上托管任何类型的文件一样 。
使用像 npm 这样的中心化存储库有优点也有缺点 , 而 Deno 在这一方面肯定是最能引发争议的 。
Deno 的全新包管理机制
这种机制如此简单 , 可能会让你非常惊讶 。
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
具体分析一下 。
不再有中心化的包管理器了 。 你可以直接从 Web 导入 ECMAScript 模块 。
不再有“神奇的”Node.js 模块解析了 。 现在语法是明确的 , 这让各种事情更容易推理 。
不再有 node_modules 目录 。 现在依赖项会下载并隐藏在你的硬盘中 。 如果要刷新缓存并再次下载 , 只需在命令中添加 --reload 。
如果你要与项目代码一起下载依赖项而不是使用全局缓存 , 请使用 $DENO_DIR env 变量 。
寻找兼容的第三方库
有一个用户区是为与 Deno 兼容的第三方模块准备的 , 但是在本文撰写时它还相当原始 。 例如 , 用户没法按受欢迎程度或下载数量搜索模块 。 我预计这个用户区将会扩大 , 或者会出现一些替代的模块站点 。
推荐阅读
- 好六网霸王别姬有望返场,最后一款即将返场,王者:令人遗憾的四款限定
- 『国足』国足即将亮相热身赛,胡尔克表态要全力阻击,归化球员能否亮眼?
- [许可馨]许可馨最新消息!教育部副部长公开批评“许可馨”!打卡即将胜利!
- 搜狐新闻一加8银翼配色即将开售 性能之外还有高颜加持
- 「南宁」冷空气到货!南宁高温即将结束,明后两天预计有雨
- 『电视剧』即将播出的5部电视剧,主演全是演技派,肯定有你想看的
- 王伯伯说科技即将开学的学生党准备好了吗?三款高配低价千元机,流畅用三年
- 王伯伯说科技流畅用三年,即将开学的学生党准备好了吗?三款高配低价千元机
- 中国日报网r来看看有哪些安全措施,迪士尼乐园即将重新开放
- zol中关村在线期待答卷!惠普即将召开第二财季业绩说明电话会