[-Node] Node.js 基础知识

【Node.js】从入门到精通 —— Node.js 基础知识与常用命令 🚀 Node.js 是一个基于 Chrome V8 JavaScript 引擎 构建的 服务器端运行环境 ,允许开发者使用 JavaScript 编写高性能的 后端应用程序 。其设计初衷旨在解决高并发问题,尤其擅长处理大量的输入/输出操作,适用于聊天应用、电商平台等场景。 阅读详情

 🖥️ Node.js专栏:Node.js 初级知识
🧑‍💼 个人简介:一个不甘平庸的平凡人🍬

✨ 个人主页:CoderHing的个人主页

🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️

👉 你的一键三连是我更新的最大动力❤️


📑 目录

1 Node.js是什么

官方对Node.js的定义:

浏览器和Node.js架构区别

Node.js架构

2 Node.js的应用场景

3 Node的安装和管理

Node的安装

4 Javascript代码执行

Node程序传递参数

5 Node的输入和输出

Node的输出

6 Node的全局对象

常见的全局对象

特殊的全局对象

global对象


​​​​​​​

1 Node.js是什么

官方对Node.js的定义:

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

Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine

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

V8可以嵌入到任何C++应用程序中,事实上都是嵌入了V8引擎来执行JavaScript代码

在谷歌浏览器中,需要 解析 渲染HTML CSS等相关渲染引擎,另外还需要提供支持浏览器操作的API 浏览器自己的事件循环等

另外在Node.js中我们也需要进行一些额外的操作 如 文件系统读/写 网络I/O 加密 压缩解压文件等操作.

浏览器和Node.js架构区别

​

Node.js架构

 ​

2 Node.js的应用场景

对于高级前端工程师来说,Node.js是必不可少的技能

应用一:目前 前端开发的库都是以node包的形式进行管理的;

应用二:npm yarn pnpm 工具成为前端开发使用最多的工具

应用三:越来越多的公司 使用Node.js作为web服务器开发 中间件 代理服务器

应用四:大量项目需要借助Node.js完成前后端渲染的同框应用

应用五:资深前端工程师需要为项目编写脚本工具(前端工程师写脚本经常会使用JavaScript而不是python或shell)

应用六:很多企业在使用Electron来开发桌面应用程序

 

3 Node的安装和管理

Node的安装

Node.js是在2009年诞生

LTS版:(长期支持)相对稳定一些,推荐线上环境使用该版本

Current版:最新Node版本,包含很多新特性

Node的版本工具

想要电脑存有多个版本的Node可以用另外一个工具来管理版本. n(TJ写的)/nvm (不支持window)

Window怎么办?

针对nvm 在github上有提供对应的window版本

通过nvm install latest安装最新的node版本

通过nvm list 展示目前安装的所有版本

通过nvm use 切换版本

4 Javascript代码执行

JavaScript
console.log('aaa');
console.log('bbb');
console.log('ccc');
操作=> 当前目录下 使用 node 文件名

Node输入和输出

JavaScript
// 1 输出
console.log("Hello World")
const num1 = 100
const num2 = 200
console.log(num1+num2);

// 2 给程序输入内容
console.log(process.argv)
// 在控制台打印 node .\文件名 num1=20 num2=40

Node程序传递参数

正常情况下执行一个node程序,直接跟上我们对应的文件即可: node index.js

但是在某些情况下执行node程序的过程中,我们希望能给node传递一些参数 node index.js env=development coderwhy

如果我们这样来使用程序 ,我们就需要在程序中获取到传递的参数

获取参数其实可以在process的内置对象中的

如果直接打印这个内置对象 里面包含了特别的信息 => 比如 版本 操作系统 等大家可以自行查看

现在我们先找到其中的argv属性:

可以发现他是一个数组,里面包含了我们需要的参数

5 Node的输入和输出

Node的输出

console.log => 最常用的输入内容的方式: console.log

console.clear => 清空控制台 console.clear

console.trace => 打印函数的调用栈

6 Node的全局对象

常见的全局对象

​

Node中给我们提供了一些全局对象 方便进行操作.

process对象:process提供了Node进程中相关的信息==> Node的运行环境 参数信息等

定时器函数:在Node中使用定时器有好几种方式:

setTimeout(callback,delay[,...args]):callback在delay毫秒后执行

setInterval(callback,delay[,...args]):callback每delay毫秒重复执行一次

setImmediate(callback[,...args]):callback I./O事件后的回调的"立即执行"

process.nextTick(callback[,...args]):添加到下一次tick队列中

特殊的全局对象

为什么称为特殊的全局对象?

这些全局对象实际上是 模块中的变量 只是 每个模块都有,看来像是全局变量;

在命令行交互中是不可以使用的; 包括:__dirname   __filename exports module require()

__dirname => 获取当前文件所在的路径:

__filename => 获取当前文件所在的路径和文件名称

global对象

我们之前讲过:在新的标准中还有一个globalThis 也是指向全局对象的;类似于浏览器中window

面试题:global和window的区别

在浏览器中 全局变量都是在window上的,如 document setInterval setTimeout等等

在Node中也有一个global属性 并且看起来它里面有很多其他对象

但是在浏览器中执行Javascript代码,如果我们在顶级范围内通过var定义的一个属性 默认会被添加到window对象上,但是在Node中 通过var定义一个变量 他只会在当前模块中的变量 不会放到全局中

STM32铅酸蓄电池内阻测试仪的交流阻抗测量与数据采集优化 本文深入探讨了基于STM32的铅酸蓄电池内阻测试仪设计,重点解析了交流阻抗测量原理与数据采集优化方案。通过采用1kHz交流小信号注入和数字相敏检波技术,实现对电池欧姆内阻的无损精准测量,并详细介绍了硬件前端调理、ADC过采样及系统标定等关键优化手段,有效提升了测量精度与稳定性。 阅读详情

相关推荐

kbjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please check

这条信息是来自 KingbaseES 数据库的一个 JDBC 客户端连接提示。KingbaseES 是一个企业级的关系型数据库管理系统,它兼容 PostgreSQL 的许多特性。如果上述步骤仍然无法解决问题,建议详细查看数据库和客户端的日志文件,以获取更具体的错误信息。此外,也可以考虑联系 KingbaseES 的技术支持获取帮助。项目融合kingbase数据库,输出日志乱码。结果:网上各种调整各种试。

zjy660358的专栏 4849

如何将命令行参数传递给 Node.js 程序?

我有一个用 Node.js 编写的网络服务器,我想用一个特定的文件夹启动。我不确定如何在 JavaScript 中访问参数。我正在运行这样的节点:这里 server.js 是我的服务器代码。 Node.js 帮助说这是可能的:我如何在 JavaScript 中访问这些参数?不知何故,我无法在网上找到这些信息。

HuntsBot的博客 2547

CTP高频Tick数据:五档期货Level2深度解析20241224

高频Tick五档期货Level2数据,作为一种先进的金融市场分析工具,以其一秒四次的高频更新,为投资者揭示了市场的微观结构。本文将深入探讨这一数据如何帮助投资者洞察市场动态,优化交易策略,实现投资收益的最大化。

level2Tick的博客 1218

万字肝完nodejs入门教程,详解入口,建议收藏(更新中)

nodejs入门教程1.前言2.入门教程2.1 命令行运行node.js脚本2.2 退出node.js程序2.3 如何使用 Node.js REPL2.3.1 使用方式2.3.2 点命令.help.editor.break.save.load.exit.clear2.4 从命令行接收参数(参数可以是独立的,也可以具有键和值。)2.5 使用node.js输出到命令行2.5.1 基础输出2.5.2 清空控制台 1.前言 首先说明,本篇文章是对nodejs官网入门教程的一份总结。同学们学习时强烈建议先前往node

qq_39055970的博客 5万+

手把手教你用RK3568开发板实现FPGA与Linux的DMA通信(含完整代码解析)

本文详细介绍了如何在RK3568开发板上实现FPGA与Linux系统的DMA通信,包括硬件配置、软件环境搭建、DMA通信原理、驱动开发及性能优化。通过完整的代码解析和实战案例,帮助开发者快速掌握异构系统间的高效数据传输技术,适用于物联网和边缘计算等场景。

weixin_29174385的博客 201

一文搞懂多速率信号处理中信号插值的本质:从插 0、插原值到线性插值!

信号插值在数字信号处理中经常被使用,但“插值”背后究竟发生了什么,却常被忽略。插0、插原值、线性插值看似只是不同的实现方式,实则对应着完全不同的频域效应与滤波特性。本文将结合公式与MATLAB仿真,深入剖析插0、插原值与线性插值三种典型策略的本质区别。

m0_66360845的博客 922

node中怎么获取命令行中的参数

从上面两个例子和官方文档中,我们可以得知argv的前两个参数都是固定的,在获取用户传入的参数我们需要process.argv.slice(2)一下,只获取从下标2开始的元素。process是nodejs内置的一个对象,该对象提供了当前有关nodejs进程的信息。(例如获取当前进程id,执行平台等与当前执行进程相关的对象和方法)

逆袭的菜鸟X 3379

ESP32 DW1000 UWB 室内定位系统

详细介绍ESP32 DW1000 UWB 室内定位系统的设计演示demo。

DT程序员的博客 1662

node.js学习(一)

NodeJS基础 什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。 每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提

natural2u 1120

cartographer实现纯定位

实现纯定位 (1)因为正常的cartographer的建图的map是由cartographer发布的;如下 rostopic info /map Type: nav_msgs/OccupancyGrid Publishers: * /cartographer_occupancy_grid_node 因此需要把map的发布替换成 <node name="map_server" pkg="map_server" type="map_server" args="/home/lx.

Studying…… 5888

【即插即用模块】注意力篇 | TGRS 2025 | ASD:自适应频域解耦,动态拆分高低频+空间注意力,频域空间特征双增强!

摘要: FDMF-Net提出了一种频域解耦多模态融合网络,核心组件为振幅谱解耦模块(ASD)。ASD通过自适应频域拆分和频域-空域协同增强,有效分离模态不变与模态特定特征。该模块利用MLP学习动态阈值调整高低频比例,并通过空间注意力分别强化频域特征,在遥感语义分割任务中实现了细节与结构的协同增强。实验表明,ASD模块能减少模态内冗余,提升特征判别性,为多模态数据融合提供了新思路。代码已开源,适用于需要强化细节与结构的视觉任务。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 312

NodeJS使用process.argv 获取命令行输入参数

NodeJS使用process.argv 获取命令行输入参数

u013302168的博客 5132

含分布式电源的配电网三段式电流保护影响仿真研究

文章摘要 本文研究了分布式电源(DG)接入对配电网三段式电流保护的影响。通过在Matlab/Simulink平台搭建含同步发电机型DG的10kV配电网模型,设计了基于傅里叶算法的三段式电流保护模块(I段瞬时速断、II段限时速断、III段定时限过流)。研究分析了不同DG接入位置、容量及故障点对保护系统的影响机理。仿真结果表明,DG接入会改变故障电流特性,可能导致三种典型问题:保护范围扩大引起误动、保护灵敏度下降导致拒动,以及保护选择性丧失。该研究为含DG配电网的保护配置与整定提供了理论依据和仿真参考,对保障分

huanghm88的专栏 272

Node.js基础知识

Node.js基础知识

m0_46966817的博客 976

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

node.js 基础知识

前言:这篇博客是跟着黑马程序员的 node.js 入门课程写下的。 链接地址: b站黑马程序员node.js课程 结合自己的理解,做了部分补充,可放心食用。

TomKing9的博客 1426

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

js 打印数组_Node.js系列二 - Node基础知识

一. Node执行代码 1.1. JavaScript文件执行如果我们编写一个js文件,里面存放JavaScript代码,如何来执行它呢?// 1.直接打印一段文字 console.log("我是一段JavaScript代码"); // 2.定义一个函数, 调用这个函数 function sum(num1, num2) { return num1 + num2; } const resu...

weixin_39849287的博客 647

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

node.js基础知识,node.js教程详细

这个时候,我们不妨用的第三方模块做些好玩的事情:搭建一个微博网站搭建一个博客网站搭建一个在线聊天室写一个简单的爬虫调用一些网站的API做一些好玩的东西等等但是,并不是说只能做以上事情,几乎其他语言能做的事情都能做,而且有些情况下能做的更好。慕课网有入门课程的,可以让你从基础知识入手,比如安装,环境配置、开发环境等,进一步熟悉API,一些HTTP知识,并且对模块的概念和使用更加熟悉,从而进阶到模块或者插件的开发,最终能够借助快速实现特定的需求。注意这些函数的返回顺序是无法保证的,而是和网络有关。

wenangou的博客 261

基础知识 | node js基础知识

官方网站 www.nodejs.org 中文镜像网站 www.nodejs.cn js和node.js的区别 两者有相同的自定义对象和内置对象,不同的宿主对象 js运行在浏览器端,存在多款浏览器,有兼容性问题。用于开发浏览器端交互效果 node.js运行在服务器端,只有一种解释器,没有兼容问题。用于服务器端开发 ...

A123ppleQueen的博客 5199

5.Javascript(BOM,node.js基础知识和官方模块)

Javascript(BOM,node.js基础知识和官方模块,模块分类)

weixin_48623310的博客 489

Node.js基础知识整理

Node.js基础知识整理前言1.node能做什么2.安装node3.初识node4.用node发送一个http请求5.buffer fs streambufferfsstream 前言 最近学习了node.js,一些关于node的基础知识学习的有些凌乱,为了加深记忆,我打算再整理一下,会不断在这一篇文章中更新。 PS:本人还是小萌新!有写的不对的地方望多多指教! 附上node的中文官方文档:戳我! 可以通过       QQ:2635591841  &nb

小鱼干儿的博客 508

node.js基础知识

引言 本篇文章涉及的内容仅仅是node.js的基础知识,其主要目的是供日后复习和查阅,不会涉及第三方库。 初始node.js 什么是node.js Node.js是js的后端运行环境,有了Node.js就可以用js做一些后端可以可以做得事。 安装node.js 官网安装地址 安装时的选项全部默认即可 安装完成后在命令行输入 node -v 如果显示了node的版本,则安装成功 用node.js运行js代码 在命令行输入 node [js文件的路径] 就可以运行代码了 fs文件系统模块 引入fs文件系统模

三季人的博客 353

node.js基础知识_Node.js超越基础知识测验

存档日期:2019年5月13日 | 首次发布:2012年6月26日 测试您的Node.js知识和技能,您将能够快速评估您对从该知识路径中学到的关键信息和编码技术的掌握程度。 此内容不再被更新或维护。 全文以PDF格式“按原样”提供。 随着技术的飞速发展,某些内容,步骤或插图可能已更改。 查看PDF文件 翻译自: https://www.ibm.com/developerworks...

cusi77914的博客 149

Javascript 编程基础(2)基础知识 | 2.1、javascript与Node.js

现代Web开发中,两者通常配合使用,JavaScript处理客户端逻辑,Node.js处理后端服务,共同构成完整的JavaScript全栈解决方案。

个人技术博客 673

Node.js和WebPack基础知识

(1)Node.js 是一个跨平台 Javascript 运行环境,可以搭建服务器端的 javascript 应用程序。(2)浏览器能执行 js 代码,是因为浏览器内置了 js 引擎(V8、SpiderMonkey等),Node.js 是基于谷歌 Chrome V8 引擎进行封装的运行环境。(3)Node.js 与浏览器环境的 js 最大区别:node.js 环境中没有 BOM(浏览器对象模型)、DOM(文档对象模型)对象。(4)执行代码:node 文件名.js。

m0_71832608的博客 1317
下一篇: [Node] Node.js JavaScrpt模块化开发
评论 23
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderHing[专注前端]

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值