Node.js、npm、npx、nvm、 Node的定义和区别
Node.js
Node.js 是一个基于Chrome V8引擎的JS运行环境,npm是它的包管理器。https://nodejs.org/zh-cn/
npm
npm是node.js默认的、用JavaScript编写的包管理系统,全称是Node package Manager。
npm 会随着 node 一起安装
npx
npm从v5.2开始,新增了npx命令
npx有三个使用场景:
一是直接调用项目内安装的模块。其原理是会到 node_modules/.bin/路径下和$PATH下,寻找命令
二是避免全局安装模块。一些脚手架类型的库,通常只在项目初始化时用一次,这种情况就可以通过npx create-reate-app
这种方式调用,参数正常加在其后即可。执行这个命令时,npx会将create-react-app下载到一个临时目录,使用完后再删除。
三是使用不同的node版本运行脚本,原理同二,临时下载不同版本的node到临时目录,使用完再删除
nvm
node version manager 顾名思义,node的版本管理器,可以方便地安装&切换不同版本的node
nvm常用的命令有:
nvm install 12.16.1 // 安装12.6.1版本的Node.js
nvm use 12.16.1 // 使用12.16.1的Node.js(在当前shell内)
nvm ls // 查看已安装的版本列表
nvm ls-remote --lts // 查看远程 LTS(long-term support) Node.js 版本列表
nvm current // 查看当前使用的Node.js版本号
nvm alias default 12.16.1 // 设置默认的Node版本号
其中版本号都可以简写,省略的部分nvm就自动填充为可用的高版本
此外,n 也是一个不错的Node版本管理工具
Node
浏览器环境下的Node对象是一个接口,各种类型的DOM对象都会从这个接口继承,比如Document
、Element
、DocumentFragment
等等