node.js小白学习笔记(一)- 打杂基础篇

94 阅读4分钟

【写在前面】这是一篇关于node.js的一些基础知识简介,或者说是帮助理解和学习node.js的一些铺垫类知识。

1.node.js:是一款应用程序,是一款软件,可以运行javascript

node.js不是一种语言,也不是新版的javascript

2.node.js的作用:开发一些应用程序

开发服务器应用:日常网站的开发模式

开发工具类应用:Webpack、Vite、Babel

开发桌面端应用:VSCode、Figma、Postman,都是基于electron框架开发,electron基于node.js开发

3.下载和安装node.js

官方下载:https://nodejs.org

中文下载:https://nodejs.cn,官网下载慢的时候可以到这里。

安装简单,略 ~

4.认识命令行工具

win+R,输入cmd,调出命令行工具,或者称为终端,再输入需要执行的命令。 (ios系统使用command+R)

5.命令的结构

格式:命令名称 参数1 参数2 ... ,命令名称和参数、参数和参数之间以空格隔开。

eg: chrome www.baidu.com/

eg: chrome www.baidu.com/ www.jd.com/

常用的命令:

目的命令
切换盘符C: D:
进入文件夹cd 文件夹名
查看目录文件dir
返回上级cd ..

6.使用node.js运行javascript代码

运行:命令行输入:node ***.js

node.js编码注意:

  • 不能使用BOM和DOM的API,但是可以使用console和定时器API
    • 浏览器中的javascript:核心语法:ECMAScript;Web API:DOM、BOM、AJAx、Storage、console定时器、alert/confirm...
    • node.js中的javascript:核心语法:ECMAScript;Node.js API:http、fs、path、url、util、console定时器等...
  • 顶级对象是global而不是window,ES2020中globalThis === global,也可以用globalThis来访问顶级对象

7.Buffer:缓冲区,是一个类似于Array的对象,表示固定长度的字节序列。换句话说,就是一段固定长度的内存空间,用来处理二进制数据。

  • Buffer特点:大小固定无法调整;性能好,可以直接操作计算机内存;每个元素的大小为1字节(8bit)

  • 创建Buffer对象:

    1. Buffer.alloc(size)
       size: 创建缓冲区的大小,单位为字节。
       创建缓冲区,并确保缓冲区中的数据是安全的。即每次创建前都会清空数据。
    2. Buffer.allocUnsafe(size)
       size:同上
       创建缓冲区,但不保证缓冲区中的数据是安全的,可能包含一些无效的数据。每次创建前,不会清空数据。但是创建速度快。
    
    3. Buffer.from(array)
       array:一个数组,可以是数字、字符串、Buffer等
       将一个数组、字符串等转为Buffer对象。
    
    
  • Buffer操作与注意点

    • Buffer.toString() 将缓冲区转换为字符串
    const buf = Buffer.from([105,108,111,118,101,121,111,117]);
    console.log(buf) //<Buffer 69 6c 6f 76 65 79 6f 75>
    console.log(buf.toString()); // 输出:iloveyou
    
    
    • 读和写
    //读
    const buf = Buffer.from('iloveyou');
    console.log(buf[0]); // 输出:105
    console.log(buf[0].toString(2)); // 注意这里的toString()是转化进制
    
    //写
    buf[0] = 108;
    console.log(buf); //<Buffer 6c 6c 6f 76 65 79 6f 75>
    console.log(buf.toString()); //lloveyou
    
    
    • 溢出
    //一个字节的最大值为255,超过255会溢出,转化成二进制后,超出部分会被截断。
    buf[0] = 361; // 361 => 0001 0110 1001,截取后为0110 1001,转成16进制是69
    console.log(buf); //<Buffer 69 6c 6f 76 65 79 6f 75>
    
    
    • 中文
    const buf = Buffer.from('你好'); //中文是UTF-8的中文,一个字符占3个字节
    console.log(buf); // <Buffer e4 bd a0 e5 a5 bd> 6个字节
    
    

8.计算机基础知识

  • 计算机基本组成:CPU、内存、硬盘、显卡、外设

  • 程序运行的基本流程

    程序一般保存在硬盘中,软件安装的过程就是将程序写入硬盘的过程,程序在运行时会加载进入内存,然后由CPU读取并执行程序。

    • 操作系统:Winsows、Linux、MacOS。也是一种应用程序,用来管理和调度硬件资源。例如操作系统可以决定让CPU执行哪一个应用程序,cpu可以对内存资源进行管理等。
    • 应用程序如何运行?双击后,应用程序会先被加载到内存,然后由操作系统调度CPU来执行应用程序中的指令,遇到视频信号交给显卡,显卡处理后输出的显示器,遇到音频信号就交给声卡,声卡处理后输出到外部播放设备。

9.进程和线程

  • 进程:进行中的程序,是程序的一次执行过程。windows中可以通过任务管理器查看当前运行的进程。
  • 线程:是一个进程中执行的一个执行流,一个进程可以有多个线程。

【写在后面】本文的目的是简介一些关于node.js或者有助于后续node.js学习的一些基础知识,文章是自己的学习笔记,学习视频连接: https://b23.tv/rXRE9Cx

PS:最近找工作不顺利,要么机会太烂,要么就是被吊着卡进程,emm...不想将就,之前一直想学但是没时间学的,那就安排上吧。静下心做好知识储备,静待春天的到来吧~