Nodejs

Nodejs

预备知识

定义:Nodejs就是一款应用程序,可以运行JavaScript

作用:

  • 开发服务器软件
  • 开发工具类应用
  • 开发桌面端应用

浏览器中的JS:

  • ECMAScript
  • Web API

Nodejs中的JS:

  • ECMAScript
  • Node API

也就是说,Nodejs中不能使用BOMDOM,只有定时器console是通用的

Buffer

类似数组,大小固定且无法调整性能好,每个元素的大小为1字节

用法详见./Buffer

FS

文件系统,详见./FS

模块化

包管理工具

模块分为三种:

  1. 内置模块
  2. 用户自定义模块
  3. 第三方模块/包

Node.js中的包都是免费且开源的,不需要付费

npm官网可以查看相关包:https://www.npmjs.com/,可以从里面看到相关文档,也可以从https://registry.npmjs.org下载包

相关概念

  • npm随着Node.js的安装被一起安装了

  • 初次装包后多了哪些文件:

    1. node_modules文件夹 存放所有已经安装到项目中的包

      require()导入第三方包时,就是从这个目录查找并加载包

    2. package.json配置文件记录node_modules目录下每一个包的下载信息 比如包的下载地址 名字 版本号

      注意,当执行npm install的时候,会生成package-lock.json,这个文件把每个依赖以及依赖的依赖版本号确定,因为package.json中的版本号类似正则匹配,比如^1.2.3代表匹配1.*.*,~1.2.3代表匹配1.2.*

  • 包的语义化版本规范:

    1
    2
    3
    4
    5
    总共有三位数字:比如2.24.0
    第一位为大版本(从底层重构)
    第二位为功能版本:
    第三位为Bug修复版本
    只要前面的版本号增长了,后面的版本号归零
  • 包管理配置文件

    npm规定,在项目根目录中,必须提供一个叫做package.json的包管理配置文件,用来记录与项目有关的一些配置信息.

    • 项目的名称 版本号 描述
    • 项目中用到了哪些包
    • 哪些包只在开发期间用到
    • 哪些包在开发和部署时都需要用到
  • npm init -y命令只能在英文文件夹下成功运行 不能有汉字或者空格

  • package.json文件中 有一个dependencies节点 记录npm install 命令装了哪些包

相关命令

安装相关

1
2
3
4
5
6
7
# 初始化
npm init -y

# 安装模块
npm i # 根据package.json安装
npm i name # 安装特定包
npm i name@version # 安装特定版本的包

卸载相关

1
2
npm r name@version
npm r -g name@version

更新相关

1
2
3
4
5
6
# 更新特定包
npm update name
# 更新node_modules子目录里边的对应模块至最新版本
npm update gulp
# 更新全局安装的对应命令行程序至最新版
npm update gulp -g

查看安装目录

1
2
3
4
# 查看全局安装的依赖所在目录
npm root -g
# 查看当前依赖所在目录 
npm root

查看相关信息

1
2
3
4
5
6
7
8
# 查看npm配置
npm config list
# 查看特定包的信息
npm info hexo-cli
# 查看安装的所有包版本信息
npm ls
# 查看安装的所有全局包版本信息
npm ls -g

配置命令别名

1
2
3
4
5
6
{
"scripts": {
"server": "node server.js",
"start": "node index.js"
}
}

配置后,可以用别名执行命令

1
2
npm run server
npm run start # start 别名比较特殊,可以省略run

解决下载慢的问题

  1. nrm

    1
    2
    3
    npm i nrm -g
    nrm ls # 查看所用可用镜像源
    nrm use taobao

其他包管理工具

yarnFacebook在2016年创建的新的JavaScript包管理工具

安装yarn:npm i -g yarn

在npm与yarn之间如何选择?

如果是个人项目,哪个工具都可以。如果是公司项目,根据锁文件判断

  • npm: package-lock.json
  • yarn: yarn.lock

NPM版本管理

nvm(Node Version Manager):用来管理Node版本

显示所有可以下载的Nodejs版本:nvm list available

显示已安装的版本:nvm list

安装特定版本:nvm install 18.12.1

安装最新版:nvm install latest

删除特定版本:nvm uninstall 18.12.1

切换版本:nvm use 18.12.1

当前进度

https://www.bilibili.com/video/BV1gM411W7ex?t=7.8&p=97


Nodejs
https://d4wnnn.github.io/2022/10/04/Dev/Nodejs/
作者
D4wn
发布于
2022年10月4日
许可协议