邂逅Node.js

首先先要来学习一下nodejs的基础(和后端开发有联系的)

再然后的学习路线是学习npm,yarn,cnpm,npx,pnpm等包管理工具

然后进行模块化的使用,再去学习webpack和git(版本控制工具)

Node.js是什么

官方对于nodejs的定义:Node.js是一个基于V8 JavaScript引擎的JavaScript运行时环境

他们的关系是:Node程序中含有V8引擎(可以执行JavaScript代码)

V8引擎可以嵌入到C++应用程序中,不论是Chrome还是Node.js都是嵌入了V8引擎来执行JavaScriptdiamante

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

在Node.js中还需要进行文件系统读写、网络IO、加密、压缩解压文件等操作

Node程序用JS/C++/C语言进行编写

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

Node.js的应用场景

1.目前前端开发的 库都是以node包的形式进行管理

(npm本身是在node里的,当安装node的时候自动就会安装npm)

现在npm,yarn,pnpm工具成为前端开发使用最多的工具

越来越多的公司使用Node.js作为Web服务器开发、中间件、代理服务器

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

资深前端工程师需要为项目编写脚本工具(因为前端工程师编写脚本通常用JS)

前面说的都是Node的理论知识,现在开始实践,进行Node的安装

Node的安装

这是node的官网:

Node.js --- 在任何地方运行 JavaScripthttps://nodejs.org/zh-cn点进去之后可以自选版本安装,本人的电脑之前已经安装过node了:

最好是选择较为稳定的版本进行安装,因为不容易出现问题,就算出现问题了也好解决一点(站在了前人的肩膀上)

安装完node之后可以直接借助node帮助我们运行js的代码,比如这样:

javascript 复制代码
console.log("aaaa")
console.log("bbbb")
console.log("cccc")
console.log("dddd")
console.log("eeee")

这是因为node里面包含V8引擎可以解析JS代码并运行

node有版本的工具,你可以在你的电脑上装多个node的版本

工具有n和nvm,n这个工具就比较好用(是TJ开发的)但是不论是n还是nvm都有一个比较大的缺点:不支持Windows。啊?

但是有人在github上发布了nvm的支持Windows的版本(不是nvm本身)

在实际的开发中用一个版本就行勒,但是架不住有人想来回换版本

这是那个Windows版本的nvm工具:

coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.https://github.com/coreybutler/nvm-windows安装完之后就可以通过nvm list查看它帮你管理着什么样的包了

如果想要通过nvm安装东西,那就nvm install x.x.x(版本号),如果想要安装最新版,那可以用latest代替版本号

nvm use可以切换版本

如果你用的是n

安装:

javascript 复制代码
npm install -g n

安装最新的lts版本:

bash 复制代码
n lts

安装最新的版本:

bash 复制代码
n latest

一个n就是查看所有的 版本(可以上下键切换,选定想要的之后回车就切换了)

Node的输入和输出

想要进行输入就要

javascript 复制代码
const arg1 = process.argv[2]
const arg2 = process.argv[3]

console.log(arg1,arg2)

再这样运行

输出的话就使用console.log就完事了,想要清空控制台就是console.clear,想打印函数的调用栈就console.trace,输出是这样的:

Node的REPL

什么是REPL?

REPL是Read-Eval-Print Loop的简称,翻译是"读取-求值-输出"循环

是一个简单的交互式的编程环境(说白了就是你打开网页然后F12一下的那个console栏)

在终端中敲一个node回车就可以来到这个环境了

想要清空内容就用cls

按两次Ctrl+C就可以退出了

这个没有git bash方便(git bash可以执行很多在Linux终端下可用的命令)

相关推荐
只睡四小时7 小时前
MCP 弃用 SSE?Node 分帧漏 81.7% 事件
node.js·webassembly·实时通信·mcp·streamable http
hey you~18 小时前
个体户门店办理400电话,如何对接订单系统实现来电弹窗
node.js·webhook·400电话·门店数字化·来电弹窗·订单系统对接
YIAN2 天前
RAG 学到最后,我真正学会的不是“检索”,而是让系统知道自己缺什么
langchain·node.js·llm
用户11977079480732 天前
GitHub 电商开源项目分享:用 sharp 批量出饰品主图,试了裁剪、细节图和色彩配置文件三个坑
前端·node.js
donecoding2 天前
pnpm 配好了,为什么执行的还是另一份?命令入口与运行时排查
node.js·前端工程化
江屿风2 天前
【Plain Language Large Model】【从浏览器到全栈:一课精通Node.js三剑客】流食般投喂
笔记·前端框架·npm·node.js·js·npx
SomeOtherTime2 天前
node.js基础(AI回答)
node.js
雨季mo浅忆3 天前
记录Node.js安全漏洞及其内置Brotli解码器问题
node.js·安全性测试
tommyjiatong3 天前
资安底座连环雷:从 PHP2Shell 到 Node2Shell
node.js·php
SEO_juper3 天前
Bash 交叉验证 robots.txt 和 sitemap:两个文件自相矛盾,页面永远收录不了
开发语言·python·node.js·json·bash