JS-42-Node.js01-Node.js介绍

一、浏览器大战

众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准。

后来,微软通过IE击败了Netscape后一统桌面,结果几年时间,浏览器毫无进步。(2001年推出的古老的IE 6到今天仍然有人在使用!)

没有竞争就没有发展。微软认为IE6浏览器已经非常完善,几乎没有可改进之处,然后解散了IE6开发团队!而Google却认为支持现代Web应用的新一代浏览器才刚刚起步,尤其是浏览器负责运行JavaScript的引擎性能还可提升10倍。

先是Mozilla借助已壮烈牺牲的Netscape遗产在2002年推出了Firefox浏览器,紧接着Apple于2003年在开源的KHTML浏览器的基础上推出了WebKit内核的Safari浏览器,不过仅限于Mac平台。

随后,Google也开始创建自家的浏览器。他们也看中了WebKit内核,于是基于WebKit内核推出了Chrome浏览器

Chrome浏览器是跨Windows和Mac平台的,并且,Google认为要运行现代Web应用,浏览器必须有一个性能非常强劲的JavaScript引擎,于是Google自己开发了一个高性能JavaScript引擎,名字叫V8,以BSD许可证开源。

现代浏览器大战让微软的IE浏览器远远地落后了,因为他们解散了最有经验、战斗力最强的浏览器团队!回过头再追赶却发现,支持HTML5的WebKit已经成为手机端的标准了,IE浏览器从此与主流移动端设备绝缘。

二、浏览器大战和Node有何关系?

话说有个叫Ryan Dahl的歪果仁,他的工作是用C/C++写高性能Web服务。对于高性能,异步IO、事件驱动是基本原则,但是用C/C++写就太痛苦了。于是这位仁兄开始设想用高级语言开发Web服务。最终,Ryan瞄向了JavaScript。

因为JavaScript是单线程执行,根本不能进行同步IO操作,所以,JavaScript的这一“缺陷”导致了它只能使用异步IO。

选定了开发语言,还要有运行时引擎。这位仁兄曾考虑过自己写一个,不过明智地放弃了,因为V8就是开源的JavaScript引擎。让Google投资去优化V8,咱只负责改造一下拿来用,还不用付钱,这个买卖很划算。

于是在2009年,Ryan正式推出了基于JavaScript语言和V8引擎的开源Web服务器项目,命名为Node.js。虽然名字很土,但是,Node第一次把JavaScript带入到后端服务器开发,加上世界上已经有无数的JavaScript开发人员,所以Node一下子就火了起来。

三、Node.js简介

Node.js是一个基于Chrome V8引擎的JavaScript运行时环境

所以,JS能在前端浏览器中运行,是因为浏览器中有JS的运行环境。

若是想让JS做后端开发,则需要借助Node.js。即,Node.js为JS提供了后端的运行环境。

所以,一段JS代码,可以在前端的浏览器中运行,也能在后端的Node.js中运行。

 

四、Node.js可以做什么?

五、Node.js的学习路径

1、JS基础语法(√)

2、Node.js内置API模块;

3、第三方API模块;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/551696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HDFS详解(Hadoop)

Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)是 Apache Hadoop 生态系统的核心组件之一,它是设计用于存储大规模数据集并运行在廉价硬件上的分布式文件系统。 1. 分布式存储: HDFS 将文件分割成若干块…

【游戏云服务器推荐】幻兽帕鲁 我的世界 雾锁王国 饥荒联机版 英灵神殿通用云服务器 2-64G随意选 附最新价格对比

更新日期:4月17日(京东云采购季持续进行) 本文纯原创,侵权必究 《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准! 【腾讯文档实时更新】2024年-幻兽帕鲁服务器专…

李飞飞团队发布《2024年人工智能指数报告》,预测人工智能未来发展趋势

昨天,斯坦福大学 Human-Center Artificial Intelligence (HAI)研究中心发布了《2024年人工智能指数报告》。 由斯坦福大学发起的人工智能指数(AI Index)是一个追踪 AI 动态和进展的非营利性项目,旨在全面研究 AI 行业状况&#xf…

不同质量图在卡尔曼滤波相位解缠中应用探讨

文献来源:不同质量图在卡尔曼滤波相位解缠中应用探讨 闫 满,郭春华 测绘科学技术, 2019, 7(2), 65-73 卡尔曼滤波将相位解缠转化为状态估计问题,实现相位解缠与噪声消除的一并处理。通过建立相位的动 态方程和观测方程来求解真实相位&#x…

The O-one:开源语言模型计算机的革命

在人工智能的浪潮中,The O-one作为一个创新的开源项目,正以其独特的功能和开放性吸引着全球开发者和科技爱好者的目光。这个项目不仅仅是一个简单的语言模型,它是一个能够通过语音交互与计算机进行对话的智能系统,极大地提升了人机…

Java面试题笔记(持续更新)

Java基础 java中的Math.round(-1.5)等于多少? Math的round方法是四舍五入,如果参数是负数,则往大的数如,Math.round(-1.5)-1,如果是Math.round(1.5)则结果为2 JDK和JRE的区别? JDK 是 Java Development ToolKit 的简称,也就是…

Java——代码块

目录 一.代码块概念以及分类 二.普通代码块 三.构造代码块 四.静态代码块 一.代码块概念以及分类 使用 {} 定义的一段代码称为代码块。根据代码块定义的位置以及关键字,又可分为以下四种: 普通代码块构造块静态块同步代码块(后续讲解多…

MySQL数据库第二天

如何授权和撤销 已经给客户授权: GRANT all on *.* to "用户名""获取IP地址" identified by "密码" 如果想撤销可以使用: revoke all on 数据库.表 form "用户名""获取的IP地址" 补充&#xff1…

基于云的内部威胁该如何应对,基础设施策略该如何部署

德迅云安全发现云的内部威胁对基于云的基础设施的安全性和完整性构成威胁,因此需要采取主动的风险缓解策略。组织可以通过在云中采用访问控制、用户监控、加密、员工培训和事件响应协议的组合来增强对内部威胁的防御能力。 在当今瞬息万变的网络安全世界中&#xff…

安卓官方例程

https://learn.microsoft.com/zh-cn/shows/connecton-demand/202?sourcerecommendations https://learn.microsoft.com/zh-cn/visualstudio/cross-platform/cross-platform-mobile-development-in-visual-studio?viewvs-2022 https://learn.microsoft.com/zh-cn/shows/xamari…

短信防刷之滑动验证码

前言:最近想写一个滑动验证码,前台的样式虽然很好看,但是并不安全,网上也都是一些demo,不是前后台分离的,然后就自己查资料,自己来完成了 滑动验证码 一、为什么要使用滑动验证码 首先&#x…

洁净区气流流型测试及拍摄注意事项-北京中邦兴业解读

洁净区气流流型测试在众多确认和验证项目中虽然看似微不足道,但其重要性却不容忽视。要做好气流流型测试,绝非易事,它要求精细的操作和深入的专业知识。毫不夸张地说,即便是对影视圈的大牌导演而言,若是不了解气流流型…

MySQL死锁与死锁检测

一、什么是MySQL死锁 MySQL中死锁是指两个或多个事务在互相等待对方释放资源,导致无法继续执行的情况。 MySQL系统中当两个或多个事务在并发执行时,就可能会遇到每项事务都持有某些资源同时又请求其他事务持有的资源,从而形成事务之间循环等…

npm命令卡在reify:eslint: timing reifyNode:node_modules/webpack Completed in 475ms不动

1.现象 执行npm install命令时,没有报错,卡在reify:eslint: timing reifyNode:node_modules/webpack Completed in 475ms不动 2.解决办法 (1)更换淘宝镜像源 原淘宝 npm 域名http://npm.taobao.org 和 http://registry.npm.ta…

springboot 人大金仓 kingbase-备份还原,命令中带密码,支持window和linux

命令带密码参考 Java代码实现国产人大金仓数据库备份还原需求-CSDN博客文章浏览阅读818次,点赞16次,收藏12次。本人在一次项目中,遇到了需要在系统管理中提供给用户备份还原系统数据的功能,由于项目特殊性,项目底层数…

Day:007(3) | Python爬虫:高效数据抓取的编程技术(scrapy框架使用)

Scrapy 保存数据案例-小说保存 spider import scrapyclass XiaoshuoSpiderSpider(scrapy.Spider):name xiaoshuo_spiderallowed_domains [zy200.com]url http://www.zy200.com/5/5943/start_urls [url 11667352.html]def parse(self, response):info response.xpath(&qu…

react v18 项目初始化

按照以下命令进行傻瓜式操作即可: 全局安装脚手架工具: npm install -g create-react-app创建项目my-react-app: create-react-app my-react-app安装 antd: yarn add antd安装 react-router-dom: yarn add react-router-dom启动项…

幻兽帕鲁老板公开发声:腾讯正在制作幻兽帕鲁克隆版

昨天,Pocketpair的老板出来指责中国游戏公司抄袭了他们的游戏Palworld,说这简直是太不可思议了。 Pocketpair的CEO Takuro Mizobe发布了一个叫Auroria的游戏的截图,然后说:“腾讯正在制作Palworld的克隆游戏!在中国&a…

10个你可能没听过但很好用的建筑设计AI工具

在之前的文章中我给大家介绍了很多Midjourney、Stable Diffusion的使用方法和对应的功能: Midjourney vs Stable Diffusion:提示相同,出图差距竟这么大!哪个更适配你的工作?https://news.vsochina.com/cn/industry/64…

Java 基于微信小程序的医院预约挂号小程序(V3)

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…