深色模式
NodeJS 学习笔记
Node.js 官网 —— https://nodejs.org/
Node.js 中文网 —— http://nodejs.cn/
Cnode - Node.js 专业中文社区 —— https://cnodejs.org/
什么是 NodeJS
Node.js 是一个开源、跨平台的 JavaScript 运行时环境。
可使用 NodeJS 执行什么操作?
Node.js 主要用于生成快速且可缩放的 Web 应用程序。它使用事件驱动的非阻塞 I/O 模型,使其变得轻量和高效。 对于跨分布式设备运行的数据密集型实时应用程序来说,这是一个很好的框架。 以下是可以使用 Node.js 创建的应用的一些示例。
- 单页应用 (SPA): 这类 Web 应用在浏览器中运行,每次用其获取新数据时无需重新加载页面。 示例 SPA 包括社交网络应用、电子邮件或地图应用、联机文本工具或绘图工具等。
- 实时应用 (RTA): 这些 Web 应用使用户能够在创作者发布信息后立即接收该信息,而不要求用户(或软件)定期检查源以获取更新。 一些示例 RTA 包括即时消息传递应用或聊天室、可在浏览器中运行的在线多玩家游戏、联机协作文档、社区存储、视频会议应用。
- 数据流式处理应用: 此类应用(或服务)会在收到(或创建)数据/内容时立即发送它们,同时保持连接,以便根据需要继续下载后续数据、内容或组件。 示例包括音视频流式传输应用。 REST API:这类接口提供数据,供他人的 Web 应用进行交互。 例如,日历 API 服务可以提供音乐会现场的日期和时间信息,以供他人的本地活动网站使用。
- 服务器端呈现的应用 (SSR) : 此类 Web 应用可在客户端(浏览器/前端)和服务器(后端)上运行,允许动态页面显示任何已知内容(为其生成 HTML)并在未知内容可用时迅速进行抓取。 这些应用通常称为“同构”或“通用”应用程序。 SSR 使用 SPA 方法,因为它们不需要在每次使用时都重新加载。 不过,SSR 提供了一些重要性因人而异的优势,例如,让你的站点内容显示在 Google 搜索结果中,或者在 Twitter 或 Facebook 等社交媒体上分享应用链接时提供预览图像。 其潜在的缺点是需要 Node.js 服务器持续运行。 例如,为用户希望显示在搜索结果和社交媒体中的活动提供支持的社交网络应用可能得益于 SSR,但电子邮件应用作为 SPA 即可满足需求。 你还可以运行服务器呈现的非 SPA 应用(例如 WordPress 博客)。 如你所见,情况可能比较复杂,你需要确定重要事项。
- 命令行工具: 通过这些工具,可以自动执行重复性任务,然后将你的工具分发到大型 Node.js 生态系统。 cURL(即客户端 URL)是命令行工具的一个示例,用于从 Internet URL 下载内容。 cURL 常用于安装 Node.js 等工具(在本例中为 Node.js 版本管理器)。
- 硬件编程: 虽然不如 Web 应用常用,但 Node.js 也越来越多地被用于 IoT 领域,例如从传感器、信标、发射机、发动机或其他会生成大量数据的装置收集数据。 Node.js 可支持数据收集、数据分析、设备和服务器之间的通信往来以及基于分析的措施实施。 NPM 包含 80 多个包,用于 Arduino 控制器、Raspberry Pi、Intel IoT Edison、各种传感器和蓝牙设备。
入门推荐
Microsoft NodeJS 入门及安装教程
Microsoft NodeJS 培训教程:使用 Node.js 生成 JavaScript 应用程序学习路径
在 Windows 上安装 Node.js 开发环境
Node.js 官网下载安装:https://nodejs.org/en/download
Microsoft Node.js 安装教程:在 Windows 上安装 NodeJS
在 WSL 上安装 Node.js 开发环境
通过 nvm 安装 Node.js
Bash
sudo apt-get install curl # 打开 Linux 发行版,安装 cURL
1
Bash
# 安装 NVM (Node 版本管理器)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
1
2
2
Bash
# 国内源
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash -- --mirror=https://npm.taobao.org/mirrors/nvm
1
2
2
Bash
# 直接可调用 nvm 和加载自动补全
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
1
2
3
4
2
3
4
Bash
source ~/.bashrc # 这样也可
1
如果出现问题
curl: (7) Failed to connect to raw.githubusercontent.com port 443 after 1 ms: Connection refused
1
可尝试:打开 https://www.ipaddress.com/ 查询 raw.githubusercontent.com 对应的 IP 地址,替换系统的 hosts 文件
Bash
# 列出当前安装的 Node.js 版本
nvm ls
1
2
2
Bash
# 安装 Node.js 的当前稳定的 LTS 版本(推荐用于生产应用程序)
nvm install --lts
1
2
2
Bash
# 安装 Node.js 的当前版本(用于测试最新的 Node.js 功能和改进,但更容易出现问题)
nvm install node
1
2
2
Bash
node -version # 查看 Node.js 版本
npm --version # 查看 npm 版本
npx --version # 查看 npx 版本
1
2
3
2
3
通过 n 安装 Node.js
可以安装 n 来管理和变更 node 版本。 https://www.npmjs.com/package/n
npm install -g n
1
npm 可更改国内源
Bash
# 可设置为国内镜像源
npm config set registry https://registry.npm.taobao.org/ # 淘宝镜像源
npm config set registry http://mirrors.cloud.tencent.com/npm/ # 腾讯云镜像源
npm config set registry https://mirrors.huaweicloud.com/repository/npm/ # 华为云镜像源
# nrm(NPM Registry Manager)工具,它可以帮助您管理不同的 npm 源
npm install -g nrm
nrm ls # 查看所有可用的源
nrm use taobao # 使用淘宝镜像源
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
安装 pnpm
Bash
corepack enable pnpm # 使用 Corepack 安装
1
Bash
npm install -g pnpm # 使用 npm 安装
1
安装 yarn
https://yarnpkg.com/getting-started/install
管理 Yarn 的首选方法是按项目并通过 Corepack,这是 Node. js 默认提供的工具。
Bash
corepack enable # 启用 Corepack
1
Bash
yarn init -2 # 初始化 Yarn
1
如果执行 yarn 出现问题
00h00m00s 0/0: : ERROR: There are no scenarios; must have at least one.
1
可尝试:
Bash
sudo apt remove cmdtest
sudo apt remove yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
1
2
3
4
5
6
2
3
4
5
6