node.js为什么产生?

从官网得知介绍如下

https://nodejs.org/zh-cn/learn/getting-started/introduction-to-nodejs

Node.js是一个开源和跨平台的JavaScript运行时环境。

Node.js在浏览器之外运行V8 JavaScript引擎,这是Google Chrome的核心。这使得Node.js具有很高的性能。

Node.js应用程序在单个进程中运行,无需为每个请求创建新线程。Node.js在其标准库中提供了一组异步I/O,可以防止JavaScript代码阻塞,通常,Node.js中的库是使用非阻塞范式编写的,这使得阻塞行为成为例外而不是常态。

当Node.js执行I/O操作时,如从网络读取、访问数据库或文件系统,Node.js不会阻塞线程并浪费CPU周期等待,而是在响应返回时恢复操作。

这允许Node.js处理与单个服务器的数千个并发连接,而不会引入管理线程并发的负担,这可能是一个重要的错误来源。

像 Apache 这样的早期服务器采用多线程/进程模型,每个请求分配一个线程。当遇到 I/O 操作(如数据库查询、文件读写)时,线程会被阻塞,导致并发能力受限(线程创建和切换开销大)。

Node.js具有独特的优势,因为数百万为浏览器编写JavaScript的前端开发人员现在不仅可以编写客户端代码,还可以编写服务器端代码,而无需学习完全不同的语言。

在 Node.js 之前,前端用 JavaScript,后端用 Java/PHP/Python 等,上下文切换成本高。

在Node.js中,新的ECMAScript标准可以毫无问题地使用,因为你不必等待所有用户更新他们的浏览器------你负责通过更改Node.js版本来决定使用哪个ECMAScript版本,你还可以通过运行带有标志的Node.js来启用特定的实验功能。

即,由于阻塞io(性能问题)、前端和后端统一开发语言(学习成本、开发效率),所以把chrome浏览器中的V8 JavaScript引擎弄到了服务器中执行JavaScript代码(技术趋势),催生了node.js。

node.js自带了一个工具npm(node package manager),用于管理使用node.js运行的js库,对应js的库作者可以开放到中央仓库供别人使用(这块估计效仿的maven),通过 package.json 来指定使用的各个组件的版本。

https://docs.npmjs.com/cli/v11/commands/npm-config

设置淘宝镜像

复制代码
npm config set registry https://registry.npmmirror.com

在当前用户目录下创建.npmrc文件,用于保存命令配置。

复制代码
registry=https://registry.npmmirror.com
相关推荐
Stream_Silver1 天前
【Node.js 安装报错解决方案:解决“A later version of Node.js is already installed”问题】
node.js
Anthony_2312 天前
基于 Vue3 + Node.js 的实时可视化监控系统实现
node.js
说给风听.2 天前
解决 Node.js 版本冲突:Windows 系统 nvm 安装与使用全指南
windows·node.js
森叶2 天前
Node.js 跨进程通信(IPC)深度进阶:从“杀人”的 kill 到真正的信号
node.js·编辑器·vim
虹科网络安全3 天前
艾体宝新闻 | NPM 生态系统陷入困境:自我传播恶意软件在大规模供应链攻击中感染了 187 个软件包
前端·npm·node.js
摇滚侠3 天前
PNPM 包管理工具和 NPM 包管理工具
vscode·npm·node.js·pnpm
心柠3 天前
webpack
前端·webpack·node.js
FreeBuf_3 天前
vm2 Node.js库曝严重沙箱逃逸漏洞(CVE-2026-22709)可导致任意代码执行
node.js
147API3 天前
改名后的24小时:npm 包抢注如何劫持开源项目供应链
前端·npm·node.js
抵梦3 天前
NPM、CNPM、PNPM:Node.js 依赖工具对比与选择
前端·npm·node.js