网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
很酷的是 JavaScript 引擎独立于它所在的浏览器。 这个关键特性促成了 Node.js 的兴起。 早在 2009 年,V8 就被选为驱动 Node.js 的引擎,随着 Node.js 的流行,V8 成为现在为大量使用 JavaScript 编写的服务器端代码提供驱动的引擎。
Node.js 生态系统非常庞大,这要归功于 V8,它还支持桌面应用程序,例如 Electron 等项目。
其他的JS引擎
- Firefox 具有 SpiderMonkey
- Safari 具有 JavaScriptCore(也称为 Nitro)
- Edge 最初基于 Chakra,但最近使用 Chromium 和 V8 引擎重建。
还有许多其他的存在。
所有这些引擎都实现了 ECMA ES-262 标准,也称为 ECMAScript(JavaScript 使用的标准)。
追求性能
V8 是用 C++ 编写的,并且在不断改进。 它是可移植的,可以在 Mac、Windows、Linux 和其他几个系统上运行。
在此 V8 介绍中,我们将忽略 V8 的实现细节:它们可以在更权威的网站上找到(例如 V8 官方网站),它们经常会从根本上随着时间的推移而变化。
V8 一直在发展,就像周围的其他 JavaScript 引擎一样,以加速 Web 和 Node.js 生态系统。
在 web 上,性能竞赛已经持续了多年,我们(作为用户和开发人员)从这场竞争中受益匪浅,因为我们年复一年地获得更快、更优化的机器。
编译
JavaScript 通常被认为是一门解释型语言,但是现代的 JavaScript 引擎不再只是解释 JavaScript,它们会编译它。
这从 2009 年开始发生,当时 SpiderMonkey JavaScript 编译器被添加到 Firefox 3.5 中,所有人都遵循这个想法。
JavaScript 由 V8 在内部使用即时 (JIT) 编译以加快执行速度。
这可能看起来有悖常理,但自从 2004 年 Google 地图推出以来,JavaScript 已经从一门通常执行几十行代码的语言发展为在浏览器中运行数千到数十万行代码的完整应用程序。
我们的应用程序现在可以在浏览器中运行数小时,而不仅仅是一些表单验证规则或简单的脚本。
在这个新世界中,编译 JavaScript 非常有意义,因为虽然准备好 JavaScript 可能需要更多时间,但是一旦完成,它将比纯粹的解释型代码性能更高。
运行 Node.js 脚本
运行 Node.js 程序的常用方法是,运行全局可用的命令 node(安装 Node.js 之后)并且传入您要执行的文件的名称。
如果您的 Node.js 主应用程序文件是 app.js,则您可以通过键入以下来调用它:
node app.js
以上,你显式地告诉 shell 使用 node 运行你的脚本。 您也可以使用 “shebang” 行将此信息嵌入到 JavaScript 文件中。 “shebang” 是文件的第一行,它告诉操作系统使用哪个解释器来运行脚本。 以下是 JavaScript 的第一行
#!/usr/bin/node
以上,我们显式地给出了解释器的绝对路径。 并非所有操作系统的 bin 文件夹中都有 node,但都应该有 env。 您可以告诉操作系统使用 node 为参数运行 env:
#!/usr/bin/env node
// 你的代码
要使用 shebang,您的文件应该具有可执行权限。 您可以通过运行以下赋予 app.js 可执行权限:
chmod u+x app.js
当运行命令时,请确保您位于包含 app.js 文件的同一目录中。
总结
本篇文章大部分也都是一些按照官网总结的理论内容,主要就是让大家对Node.js有基本的了解,了解我们V8、了解我们的Node优势,下一节我们就为大家带来我们Node的实操内容了哦!!!我们下篇见。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**