广告
返回顶部
首页 > 资讯 > 前端开发 > html >Deno会取代NodeJS吗
  • 617
分享到

Deno会取代NodeJS吗

2024-04-02 19:04:59 617人浏览 薄情痞子
摘要

这篇文章主要介绍“Deno会取代nodejs吗”,在日常操作中,相信很多人在Deno会取代nodejs吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Deno会取代NodeJ

这篇文章主要介绍“Deno会取代nodejs吗”,在日常操作中,相信很多人在Deno会取代nodejs吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Deno会取代NodeJS吗”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、从头说起

2018年,Ryan在一次演讲中谈到了他认为Node存在的10大问题。演讲的最后,他展示了他当时正在构建的、还只是一个小系统的Deno,也就是大家口中的node.js  2.0版本,他对原有版本做了改进,也更加安全

两年后,Deno  1.0正式发布。其后端有一个全新的javascript运行环境,但它是用Rust编写的,而不是用c++。它以Tokio平台为基础(该平台为JavaScript提供其所需要的异步运行环境),仍可运行Google  V8引擎。

二、还有什么新鲜的吗?

我们不仅仅是在讨论一个和现有的Node.js完全兼容的新的JavaScript运行环境,Ryan还利用了这个机会,在Deno中加入了一些他认为在早期创作中缺失的东西。

1. 安全集成

默认设置中,Node.js允许用户访问所有内容,这意味着你可以读写文件系统、发出请求、访问环境变量等等。尽管作为开发人员,拥有这种访问权限是有利的,但如果在编写自己的代码时不够小心,也会带来安全风险。

因此,Deno使用命令行参数来启用或禁用对不同安全特性的访问。如果你需要让你的脚本访问/etc 文件夹,可以输入:

deno --allow-read=/etcmyscript.ts

你的代码将从文件夹中读取,你会得到一个安全异常提示。这类似于其他平台处理安全性的方式。

如果你是Android用户,你一定已经收到了很多应用程序的要求,允许它们访问你手机中的不同系统(如联系人、电话、文件夹等)。这里也一样。通过在执行脚本的命令行中使用这些标志,可以提供代码所需的权限。

2. 一个更完整的标准库

自Node的第一个版本开始,JavaScript就已经改进了它的标准库,但是与其他语言相比,它还有很多不足。

Deno也试图改进这一点,据说它会拥有一个非常完整的标准库,能让开发人员使用官方工具来执行基本任务,且只需使用外部库(alaNPM)来完成复杂的任务。

从本质上讲,Deno开箱即用,它的自带工具可以为终端文本添加颜色、处理外部数据结构(如二进制、csv、yaml和其他数据结构)、生成UUID,甚至编写websockets。还有其他可用的更基本模块,比如文件系统访问、日期帮助器函数、与Http相关的函数等等。

3. 集成版TypeScript

如果你是typescript的忠实用户,那么不需要外部工具,Deno就会帮你搞定很多工作,默认情况下JavaScript的转换在内部即可完成,这一点无需担心。

尽管默认情况下Deno会做很多工作,但你可以使用自己的tsconfig.JSON文件覆盖配置:

deno run -c tsconfig.json[your-script.ts]

默认模式是使用严格模式,因此,进行任何欠考虑的编码操作都会立即收到警告。

4. 不再需要NPM和node_modules文件夹

这是个大问题。会不会太臃肿了?这种分散依赖关系的方式是错误的吗?这自然是Node最具争议的一大方面,Deno决定完全摆脱它。

那Deno是如何处理依赖项的呢?目前的方法是,允许你从任何地方索取模块。换言之,你可以这样做:

import * as log from"https://deno.land/std/log/mod.ts";

你无需拥有自己的集中存储库,但必须谨慎操作,因为从无法控制的第三方源导入模块会让你处于开放暴露的状态。

事实上,我们的好朋友package.json也不见了。现在通过在名为deps.ts的文件中列出一系列模块及其各自的URL,来简化依赖性管理。你肯定会问,版本控制呢?你可以在URL上指定包版本。虽然不是很方便,但行得通。

一个正常的deps.ts文件是这样的:

export { assert } from"https://deno.land/std@v0.39.0/testing/asserts.ts"; export { green, bold } from"https://deno.land/std@v0.39.0/fmt/colors.ts";

这将重新导出模块。如果你想更改模块的版本,需对URL进行相应的简化修改。在第一次执行脚本时,导入的代码会被缓存,直到再次使用--reload  标志运行为止。

5. 还有别的吗?

Deno还有其他特点,比如它拥有了更多的“开箱即用”工具,包括测试运行器、调试器、文件监视程序等。但话说回来,其中一些只是由语言提供的api接口,你需要编写出自己的工具才能使用它们。

以  Deno.watchFs提供的文件监视器API接口为例,如果你正在寻找与nodemon类似的解决方案,那你必须自己完成。下面是解决类似问题的23行脚本:

Deno会取代NodeJS吗

三、Deno会很快取代Node.js吗?

老实说,不一定。有些人自Node.js 0.10版本推出就开始使用Node  js,甚至将其应用于生产。我们过去之所以这样做是因为没有与其类似的系统。

PHPpython甚至Ruby都无法在后端与JavaScript和异步I/O模型相提并论,更不用说Java和.  NET了。这些年来,Node和JavaScript不断改进升级,以满足业界需求。

它是完美的吗?当然不是。和生活中的其他事情一样,在编程语言方面也很难做到十全十美。

Deno也不例外。目前它还只是一个计划用2年时间达成目标的想法。它还没有在生产系统中试验和测试过,没有被审查过,也没有应用于奇怪的、意想不到的使用情况,我们无法了解它是如何处理这些极端情况的。

也许在一年后,我们会听到公司分享他们有关应用Deno的经验、他们如何解决新发现的缺陷,最终,它背后的群体将使用Deno,让它“物尽其用”。而在此之前,Deno还只是早期使用者的玩具。

它会取代Node吗?谁知道呢,一起拭目以待吧!

到此,关于“Deno会取代NodeJS吗”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: Deno会取代NodeJS吗

本文链接: https://www.lsjlt.com/news/84950.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Deno会取代NodeJS吗
    这篇文章主要介绍“Deno会取代NodeJS吗”,在日常操作中,相信很多人在Deno会取代NodeJS吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Deno会取代NodeJ...
    99+
    2022-10-19
  • golang会取代c吗
    golang不会取代c,到目前为止,golang本身就是C写的,只是在语言层面实现了一些如果用C会很难写的feature,随着golang社区的不断壮大和生态系统的进一步发展,它有望在更多的领域中与C竞争。无论如何,C作为经典的编程语言,将...
    99+
    2023-08-02
  • nodejs 会被淘汰吗
    随着前端技术的飞速发展,许多开发者对Node.js的未来发展产生了不安。本文将分析Node.js的现状和前景,以及为什么它不会被淘汰。Node.js是一个使用JavaScript语言编写的服务器端框架。它最初由Ryan Dahl创建,旨在解...
    99+
    2023-05-14
  • nodejs能替代python吗
    随着计算机技术的不断发展,越来越多的编程语言在开发中得到了广泛的应用,其中包括 JavaScript 和 Python 。尽管这两种语言都有自己的优点和缺点,但是很多人都在争论,node.js 能否替代 Python 。事实上,这种激烈的争...
    99+
    2023-05-24
  • 微信小程序会取代APP开发吗
    这篇文章主要介绍了微信小程序会取代APP开发吗,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  常规来说,开发和运营一个APP的目的,在于能够便利的为客户提供一些丰富的服务,...
    99+
    2023-06-26
  • 你一定会收藏的Nodejs代码片段
    以下就是为大家分享的四段Nodejs值得收集的代码片段,供大家参考,具体内容如下 1、关于Nodejs的静态资源压缩与缓存参见:Nodejs打造静态资源服务器与文件上传刚学Express那会,动态文件的gz...
    99+
    2022-06-04
    片段 代码 收藏
  • 阿里云会代理商吗
    首先,阿里云代理商通常是阿里云产品的官方授权经销商。这些代理商将代理阿里云的产品,包括服务器、存储、数据库、网络安全等。这些产品的授权经销商将为您提供全面的技术支持和售后服务,以确保您的业务能够顺利开展。 其次,阿里云代理商还提供了广泛的...
    99+
    2023-10-28
    阿里 代理商
  • kotlin能取代JavaScript吗
    Kotlin是一种基于Java语言的现代化编程语言,它具有快速、简洁和类型安全等一系列优势。近年来,越来越多的开发者开始使用Kotlin而非JavaScript作为前端开发的首选语言。那么问题来了,Kotlin是否能够取代JavaScrip...
    99+
    2023-05-14
  • 阿里云会有代理商吗
    阿里云的代理商体系已经成为了其重要的销售渠道之一。通过与阿里云合作,代理商可以在阿里云的销售渠道中发挥重要作用,并为用户提供更加优质的服务和产品。 目前,阿里云已经在全球范围内设立了分支机构和办事处,在中国以外的地区也有一些代理商。这些代...
    99+
    2023-10-28
    会有 阿里 代理商
  • javascript在未来会代替Java吗
    这篇文章主要介绍“javascript在未来会代替Java吗”,在日常操作中,相信很多人在javascript在未来会代替Java吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2022-10-19
  • Java 数组迭代你会用吗
    目录1、概述2、通过循环进行数组迭代3、JDK 8 之前使用老方式进行数组迭代4、使用 Java 8 Stream 进行数组迭代5、字符串的应用6、总结Java 数组是我们学习或工作...
    99+
    2022-11-12
  • php 只会写业务代码吗
    PHP经常被诟病是丑陋的语言,尤其是在不了解其优缺点的情况下,这样的批评显得尤其盲目。事实上,PHP已经成为全世界最流行的Web开发语言,它的市场占有率超过70%。而这一切都离不开PHP的独特之处:PHP可以拓展为令人印象深刻的应用程序,甚...
    99+
    2023-05-14
  • 云服务器领取会员划算吗?
    1. 会员优惠价格 云服务器提供商通常会为会员提供一些独家的优惠价格。这些价格可能会比普通用户享受的价格更加优惠,从而帮助用户节省一定的费用。例如,会员可能会享受到更低的小时计费费率或更高的折扣。 2. 专属资源和服务 作为会员,您可能会...
    99+
    2023-10-27
    服务器 会员
  • 阿里云代理商会违法吗
    首先,阿里云代理商的违法行为源于其激励机制。在激励机制下,阿里云会通过高额返点、优惠活动等手段,吸引更多的代理商加入,以期获得更多的客户和业务。然而,这种激励机制容易导致代理商的过度逐利行为,进而影响整个行业的健康发展。一方面,代理商的高额...
    99+
    2023-10-27
    阿里 商会
  • 未来Java会替代C语言吗
    这篇文章主要介绍“未来Java会替代C语言吗”,在日常操作中,相信很多人在未来Java会替代C语言吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”未来Java会替代C语言吗”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-03
  • 亚马逊服务器取消会扣费吗
    亚马逊服务器(AWS)提供了多种计费选项,包括按需计费、预留实例计费和按数据传输计费等。如果您使用按需计费选项,只有在您使用了实际的计算资源时才会产生费用。如果您停止使用实例,AWS 将不再收取费用。因此,如果您取消了 AWS 实例,AWS...
    99+
    2023-10-27
    亚马逊 服务器 会扣费吗
  • 你会使用python爬虫抓取弹幕吗
    目录前言一、爬虫是什么?二、饲养步骤1.请求弹幕2.解析弹幕3.存储弹幕4.总代码三、总结前言 时隔108天,何同学在B站发布了最新的视频,《【何同学】我用108天开了个灯&hell...
    99+
    2022-11-13
  • nodeJs爬虫获取数据简单实现代码
    本文实例为大家分享了nodeJs爬虫获取数据代码,供大家参考,具体内容如下 var http=require('http'); var cheerio=require('cheerio');//页面获取...
    99+
    2022-06-04
    爬虫 代码 简单
  • 怎么使用NodeJs爬虫抓取古代典籍
    这篇文章主要讲解了“怎么使用NodeJs爬虫抓取古代典籍”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用NodeJs爬虫抓取古代典籍”吧!项目实现方案...
    99+
    2022-10-19
  • HTML 5可以取代Flash吗
    小编给大家分享一下HTML 5可以取代Flash吗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Opera的CEO Jon vo...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作