十一、Node.js

2023-11-05

一、Node.js是什么?

在了解Node.js之前,我们先去了解一下什么叫v8引擎。这里参考一下其他博主的资料。

聊聊V8引擎_努力学习前端的77的博客-CSDN博客

这个时候我们再去看下Node.js的定义。

官方对Node.js的定义: 

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

 

也就是说Node.js基于V8引擎来执行JavaScript的代码,但是不仅仅只有V8引擎:

  • 前面我们知道V8可以嵌入到任何C ++应用程序中,无论是Chrome还是Node.js,事实上都是嵌入了V8引擎来执行JavaScript代码
  • 但是在Chrome浏览器中,还需要解析、渲染HTML、CSS等相关渲染引擎,另外还需要提供支持浏览器操作的API、浏览器自己的事件循环等;
  • 另外,在Node.js中我们也需要进行一些额外的操作,比如文件系统读/写、网络IO、加密、压缩解压文件等操作;

我们可以简单理解规划出Node.js和浏览器的差异: 

 

我们来看一个单独的Node.js的架构图:

  • 我们编写的JavaScript代码会经过V8引擎,再通过Node.js的Bindings,将任务放到Libuv的事件循环中;
  • libuv(Unicorn Velociraptor—独角伶盗龙)是使用C语言编写的库;
  • libuv提供了事件循环、文件系统读写、网络IO、线程池等等内容; 

 

二、Node.js的应用场景 

Node.js的快速发展也让企业对Node.js技术越来越重视,在前端招聘中通常会对Node.js有一定的要求,特别对于高级前端开发工程师,Node.js更是必不可少的技能。

  • 应用一:目前前端开发的库都是以node包的形式进行管理;
  • 应用二:npm、yarn、pnpm工具成为前端开发使用最多的工具;
  • 应用三:越来越多的公司使用Node.js作为web服务器开发、中间件、代理服务器;
  • 应用四:大量项目需要借助Node.js完成前后端渲染的同构应用;
  • 应用五:资深前端工程师需要为项目编写脚本工具(前端工程师编写脚本通常会使用JavaScript,而不是Python或者shell);
  • 应用六:很多企业在使用Electron来开发桌面应用程序;

三、Node的安装

 

Node的版本工具:

  

 

四、JavaScript代码执行

 如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢?

目前我们知道有两种方式可以执行:

  • 将代码交给浏览器执行;
  • 将代码载入到node环境中执行;

如果我们希望把代码交给浏览器执行:

  • 需要通过让浏览器加载、解析html代码,所以我们需要创建一个html文件;
  • 在html中通过script标签,引入js文件;
  • 当浏览器遇到script标签时,就会根据src加载、执行JavaScript代码;

如果我们希望把js文件交给node执行: 

  • 首先电脑上需要安装Node.js环境,安装过程中会自动配置环境变量;
  • 可以通过终端命令node js文件的方式来载入和执行对应的js文件;

 

  

怎么给程序输入内容?

 

 

什么是REPL? (了解即可)

 


五、Node的输出:

 

六、常见的全局对象

 

 七、特殊的全局对象

八、常见的全局对象

 

九、global对象

 

十、global和window的区别

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

十一、Node.js 的相关文章

随机推荐

  • 一、Python基础---计算机基本概念

    一 Python基础 计算机基本概念 1 计算机是什么 2 计算机的组成 3 计算机语言概述 4 计算机语言的发展 5 解释型语言和编译性语言的差别 6 交互方式 7 DOS命令 8 文本文件和字符集 8 1文本文件 8 2 常见字符集 9
  • unity3d-血条的设计

    任务目标 完成血条的预制设计 任务要求 分别使用 IMGUI 和 UGUI 实现 使用 UGUI 血条是游戏对象的一个子元素 任何时候需要面对主摄像机 分析两种实现的优缺点 给出预制的使用方法 实现过程 使用IMGUI实现 创建一个空对象
  • linux系统下常用的激活命令总结

    linux系统下常用的激活命令总结 作为一个刚入门linux的小白 很多的命令用了之后又会忘记 所以记录一下 方便后面回头查询 1 退出base环境 在terminal或者 bashrc文件中把conda自动启动设置为 false cond
  • Redis可视化客户端

    Redis是一个超精简的基于内存的键值对数据库 key value 一般对并发有一定要求的应用都用其储存session 乃至整个数据库 redis的可视化客户端目前较流行的有三个 Redis Client Redis Desktop Man
  • Vue 3 中的 Suspense 是什么?如何使用它

    Vue 3 中的 Suspense 是什么 如何使用它 介绍 Vue 3 是 Vue js 的最新版本 引入了一些令人兴奋的新功能和改进 其中之一是 Suspense 中文翻译为 暂停 机制 Suspense 是一种用于处理异步组件和延迟加
  • 教你App如何上架应用宝----腾讯开放开发平台

    上架app视频 http v youku com v show id XMTU0NTM1MTczNg html from y1 7 1 2 paction app在腾讯的 应用宝 市场 输入 czg学习演示 可以下载 注意 上架app视频的
  • 冒泡排序算法的Python实现(头歌实践教学平台)

    第1关 冒泡排序的实现 任务描述 本关任务 编写代码实现冒泡排序 相关知识 为了完成本关任务 你需要掌握 1 如何实现冒泡排序 2 冒泡排序的算法分析 冒泡排序 冒泡排序又称起泡排序 它的算法思路在于对无序表进行多趟比较交换 每趟都包括了多
  • ERROR: cannot launch node of type [turtlesim/turtlesim_node]

    这个之前路径是正确的 没有文档里说的那个BUG 为什么后续运行roslaunch rename01 node start turtle launch 的时候还是会报错呢 还是会出现 ERROR cannot launch node of t
  • 继承的详细介绍与理解,看了就懂

    继承的介绍 继承的概念及定义 定义格式 继承基类成员访问方式的变化 基类和派生类对象赋值转换 继承中的作用域 派生类的默认成员函数 继承与友元 继承与静态成员 复杂的菱形继承及菱形虚拟继承 总结 继承的概念及定义 继承也是面向对象的三大特性
  • ASM学习——开端

    什么是ASM ASM是一个操作java字节码的类库 ASM的操作对象 字节码 bytecode 数据 一个java文件经过java编译器javac编译之后会生成 class文件 在 class文件中 存储的就是字节码数据 ASM的操作对象就
  • XSL-FO 高级技术4

    概述 第 1 页 共7 页 既然您已经了解了定义打印页面外观的基本元素 现在让我们研究其它 XSL FO 元素 这些元素可以使 PDF 文档看上去更专业 本章将讨论下列主题 定义多页布局 添加页眉和页脚 对页面编号 用 Page x of
  • verilog/systemverilog的随机数生成问题

    Verilog SystemVerilog 里面的随机函数 Verilog系统自带一些随机数发生函数 最常用的有random 语法如下 random seed 指定概率分布 如果希望生成的随机数具有一定的概率分布 还有一些系统函数可以选用
  • webview页面有很多图片加载慢的处理方式

    dangwebview加载有很多图片的网页时会很慢 此时可以用webview的setBlockNetworkImage方法 在开始加载的时候使用 webview getSettings setBlockNetworkImage true 在
  • 云计算运营—01华为云计算解决方案介绍

    华为云计算解决方案介绍 文章目录 华为云计算解决方案介绍 一 FusionSphere虚拟化解决方案介绍 云操作系统架构 FusionCompute组成 FusionManager FusionStorage FS相比传统存储的优势 应用场
  • matplotlib 自带绘图样式效果展示速查(28种,全)

    matplotlib 自带绘图样式效果展示速查 28种 全 目 录 一 matplotlib 自带所有绘图样式效果展示 0 没有加style时的绘图风格 1 加 bmh style时的绘图风格 2 加 classic style时的绘图风格
  • 详解浏览器渲染原理及流程

    今天来分享一下浏览器的渲染原理及流程 前言 先来看看 Chrome 浏览器的多进程架构 通常 我们打包出来的 HTML CSS JavaScript 等文件 经过浏览器运行之后就会显示出页面 这个过程就是浏览器的渲染进程来操作实现的 渲染进
  • 网络通信设备之网络路由技术详解

    一 路由器简介 路由器是构成IP网络的核心 其最基本的作用就是连接不同类型的网络 智能选择最佳的信息传送线路 除此以外 路由器还具有访问控制功能 路由器也可以算作是一台专用计算机 可以听懂并翻译各种网络协议 就像一个会讲各种语言的人一样 1
  • 50个查询系列-第三个查询:查询所有同学的学号、姓名、选课数、总成绩;

    查询最主要的就是确定查询的主表 和辅助表 这个的话我们可以确认是用子查询 主表就是我们的学生表 tblstudent可以查到学生的学号 姓名 辅助表就是成绩表 tblscore 自己写的语句如下 SELECT tblstudent StuI
  • 在虚拟机中安装Windows Server2016

    先介绍一些比较有用的文章 但可能与本文没有直接关系 将windows server 2016改造为像windows 10一样适合个人使用的系统 Windows Server 2016 配置指南 事先说明 千万不要提前分区 没有意义 什么都不
  • 十一、Node.js

    一 Node js是什么 在了解Node js之前 我们先去了解一下什么叫v8引擎 这里参考一下其他博主的资料 聊聊V8引擎 努力学习前端的77的博客 CSDN博客 这个时候我们再去看下Node js的定义 官方对Node js的定义 No