首页 > 编程语言 >Node.js

Node.js

时间:2024-10-25 09:34:38浏览次数:5  
标签:Node JavaScript js 引擎 版本 V8

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版本来开发或者学习即可。
◼ 但是,如果你希望通过可以快速更新或切换多个版本时,可以借助于一些工具:
    nvm:NodeVersion Manager;
    n:Interactively Manage Your Node.js Versions(交互式管理你的Node.js版本)
◼ 问题:这两个工具都不支持window
    n:nis not supported natively on Windows.
    nvm:nvmdoes not support Windows
◼ Window的同学怎么办?
    针对nvm,在GitHub上有提供对应的window版本:
    通过nvminstall latest 安装最新的node版本
    通过nvmlist 展示目前安装的所有版本
    https://github.com/coreybutler/nvm-windows
    通过nvmuse 切换版本

版本管理工具:n

Node的REPL

Node程序传递参数

为什么叫argv呢?

Node的输出

 ◼ 还有一些其他的方法,其他的一些console方法,可以自己在下面学习研究一下。
 https://nodejs.org/dist/latest-v16.x/docs/api/console.html

标签:Node,JavaScript,js,引擎,版本,V8
From: https://www.cnblogs.com/hdc-web/p/18501792

相关文章

  • JSON日志处理 | 基于SparkSql实现
    目录0 主要JSON处理函数1JSON处理函数使用2案例分析3小结0 主要JSON处理函数get_json_object:提取单个JSON字段json_tuple:同时提取多个JSON字段from_json:JSON字符串转结构化数据to_json:结构化数据转JSON字符串schema_of_json:推断JSONs......
  • 网关点表&&全局点表json文件使用(拓展性实现方法)
    全局点表点表作用每一个网关中都会有配置点表,它会在里面写入一些网关运行过程中所需要的配置项,比如连接的服务器地址、当前固件版本号等。而点表最重要的作用就是定义网关需要采集或者处理的设备点抽象,实际开发中我们会将每个需要关注的终端设备抽象成一个具体的数据点,这......
  • 【最新原创毕设】基于JSP+SSM的民宿预约平台+79197(免费领源码)可做计算机毕业设计JAVA
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状2系统分析2.1.1技术可行性分析2.1.2 经济可行性分析2.1.3法律可行性分析2.2系统流程分析2.2.1添加信息流程2.2.2修改信息流程2.2.3删除信息流程2.3 系统功能分析2.3.1功能性分析2.3......
  • JS-基础入门
    JavaScript入门JavaScript是解释性的弱类型编程语言解释性:逐行解释,逐行执行弱类型:不区分变量的数据类型JS的组成一般认为浏览器中JavaScript由三部分组成ECMAScript:基础语法由ECMA(原欧洲计算机制造商协会)进行标准化的一门编程语言,主要规定了像变量,数据类型,......
  • jsp高校人事档案数字化管理系统70of8(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学院简介,校园风光,员工,工资发放开题报告内容一、研究背景与意义随着信息技术的飞速发展和高校人事管理的日益复杂,传统的人事档案管理方式已难以满足高效、准......
  • jspm基于Java web的在线餐饮管理系统的设计和实现(11862)
     有需要的同学,源代码和配套文档领取,加文章最下方的名片哦一、项目演示项目演示视频二、资料介绍完整源代码(前后端源代码+SQL脚本)配套文档(LW+PPT+开题报告)远程调试控屏包运行三、技术介绍Java语言SSM框架SpringBoot框架Vue框架JSP页面Mysql数据库IDEA/Eclipse开发......
  • node根据模板生成pdf,并在pdf中插入文本信息,水印,签章。
    要求通过node生成司机小程序需要的pdf,并在pdf插入信息,用户签章,公司签章,水印等。第三方插件#pdf-lib版本1.17.1。读取pdf模板,插入信息,签章,水印。#@pdf-lib/fontkit版本1.1.1。加载pdf插入信息时所需的字体文件ttf。#canvas版本2.11.2。根据用户名形成用户签章(文字......
  • Vue.js 投票排行榜:从零到完整实现详细教程” “新手友好:使用 Vue.js 构建一个实时投票
    效果图博客教程:使用Vue.js实现投票排行榜页面(详细步骤)在本篇博客教程中,我们将逐步带你实现一个投票排行榜页面,使用的是Vue.js框架。此项目适合前端开发新手,可以帮助你更好地理解Vue的基本功能和组件开发。目录项目介绍搭建项目基础结构实现榜单前3名展示实现倒计时功......
  • Nodejs版本管理及镜像配置
    pnpm安装Windows(PowerShell)Invoke-WebRequesthttps://get.pnpm.io/install.ps1-UseBasicParsing|Invoke-Expressionhttps://pnpm.io/zh/installationPOSIX系统curl-fsSLhttps://get.pnpm.io/install.sh|sh-更新pnpmself-update配置node镜像pnpmconfi......
  • 计算机毕业设计项目推荐:大学生实习成绩评价系统的设计与实现38147(开题答辩+程序定制+
    摘 要21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。论文主要是对大学生实习成绩......