Skip to content

Node.js

I don't like window11 but for the special case like some company only just give window11 system computer. I have to use it. This notes will set up in the window11 enviroment.

1 Quick Start

1.1 Node.js Overview

  1. Node.js 是什么

Node.js 不是一门编程语言,它是一个执行 JavaScript 代码的工具。工具是指可以安装在计算机操作系统之上的软件。

  1. 为什么浏览器和 Node.js 都可以运行 JavaScript

因为浏览器和 Node.js 都内置了 JavaScript V8 Engine。

它可以将 JavaScript 代码编译为计算机能够识别的机器码。

Screenshot 2025-02-12 at 00.20.03

  1. 浏览器中运行的 JavaScript 和 Node.js 中运行的 JavaScript 有区别吗

在内置了 JavaScript V8 Engine 以后实际上只能执行 ECMAScript,就是语言中的语法部分。

浏览器为了能够让 JavaScript 操作浏览器窗口以及 HTML 文档,所以在 JavaScript V8 Engine 中添加了控制它们的API,就是DOM 和BOM. 所以 JavaScript 在浏览器中运行时是可以控制浏览器窗口对象和DOM文档对象的。

和浏览器不同,在 Node.js 中是没有DOM 和 DOM 的,所以在 Node.js 中不能执行和它们相关的代码,比如 window.alert() 或者document.getElementByld().DOM 和 DOM 是浏览器环境中特有的。在Node.js 中,作者向其中添加了很多系统级别的 API,比如对操作系统中的文件和文件夹进行操作。获取操作系统信息,比如系统内存总量是多少,系统临时目录在哪,对系统的进程进行操作等等。

Screenshot 2025-02-12 at 00.22.35

Javascript 运行在浏览器中控制的是浏览器窗口和 DOM 文档。

JavaScript 运行在 Node.js 中控制的操作系统级别的内容。

Screenshot 2025-02-12 at 00.25.36

  1. 为什么浏览器中的 JavaScript 不能控制系统级别的 API?

    浏览器是运行在用户的操作系统中的,如果能控控制系统级别的 API 就会存在安全问题。

    Node.js 是运行在远程的服务器中的,访问的是服务器系统 API,不存在这方面的安全问题。

  2. Node.js 能够做什么

    我们通常使用它来构建服务器端应用和创建前端工程化工具。

    JavaScript 运行在浏览器中我们就叫它客户端 JavaScript。

    JavaScript 运行在 Node.js 中我们就叫它服务器端 JavaScript。

1.2 系统环境变量

系统环境变量是指在操作系统级别上定义的变量, 变量中存储了程序运行时所需要的参数.

环境变量

Screenshot 2025-03-02 at 19.08.55

比如在使用webpack构建前端应用时就使用到了系统环境变量, 因为webpack需要根据系统环境变量判断当前为开发环境还是生产环境, 根据环境决定如何构建应用.

在开发环境的操作系统中定义NODE_ENV变量, 值为production. webpack在运行时通过process.env.NODE_ENV获取变量的值, 从而得出当前代码的运行环境是什么.

环境变量PATH: 系统环境变量PATH中存储的都是应用程序路径. 当要求系统运行某一个应用程序又没有告诉它程序的完整路径时, 此时操作系统会先在当前文件夹中查找应用程序, 如果查找不到就会去系统环境变量PATH中指定的路径中查找. (eg: 指定的路径: .\eve下先去查找)

Screenshot 2025-03-02 at 16.51.30

Screenshot 2025-03-02 at 19.15.06

eg. vs code

Screenshot 2025-03-03 at 18.39.40

GitHub - nvm-sh/nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

nvm: Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

GitHub - coreybutler/nvm-windows: A node.js version management utility for Windows. Ironically written in Go.

Screenshot 2025-03-03 at 18.51.21

Screenshot 2025-03-03 at 18.51.31

Screenshot 2025-03-03 at 18.51.48

Screenshot 2025-03-03 at 18.52.00

Screenshot 2025-03-03 at 18.52.26

Screenshot 2025-03-03 at 18.54.18

nvm install 18.20.7

nvm use 18.20.7

Screenshot 2025-03-03 at 18.58.40

We can use node -v to check whether install successfully.

npm 是node平台下的软件包工具, 它实际上是另外一个软件, 但是它跟node捆绑安装了.

Screenshot 2025-03-03 at 19.12.23

Screenshot 2025-03-03 at 19.13.16

how to download wsl

wsl install

Screenshot 2025-03-03 at 18.45.39

win11下如何显示隐藏文件

Open File Explorer, Click "View", Select "Show", and Choose "Hidden items

1.4 解决安装异常

  1. 解决在运行node命令时提示"is not recognized as an internal or external command, operable program or batch file".

将Node应用程序目录添加到系统环境变量中, 然后重新启动命令行工具再次执行node命令.

  1. 解决在安装Node的过程中出现代码为2502和2503的错误.

Screenshot 2025-03-02 at 18.40.31

Screenshot 2025-03-02 at 18.40.53

  1. 通过管理员权限打开命令行工具
  2. 切换到node安装包所在的目录
  3. 通过misexec/package node-v10.15.0-x64.msi 运行Node应用程序安装包

1.5 Node.js初体验

2 模块系统

3 NPM

4 Asynchronous

5 网站概述

6 Express