nvm 全名 node.js version management,顾名思义:node.js 版本管理工具。
nvm 是 Mac 下的管理工具,如果需要在 Windows 下管理 node.js 版本,则需要下载 nvm-windows。
注意:nvm-windows 并非是 nvm 的移植,俩者关系不大,但是所有 nvm 的命令通过 nvm-windows 得以在 Windows 系统中支持。
nvm-windows:https://github.com/coreybutler/nvm-windows/releases
本文依照 Windows 版本下介绍 nvm(谁让我没有 Mac 呢?摊手~)
提起这个问题不难回答?nvm 是做什么的?管理 node.js 版本。
为什么会需要管理 node.js 版本?显然是因为我们需要使用到多个版本 node.js。
某个历史项目中会限制要求 node.js 必须是 10.* 版本才能跑起来,但是一些的新的项目又要求 14.* 才能使用。
如果没有 nvm 就意味着,我们跑老项目要卸载新的 node.js,跑新项目又要重新装新的 node.js。
仅仅安装 node.js 还不是最令人头疼的,一些公共的指令工具和库都要重新安装,比如:yarn。
在上文提供的链接中下载安装版,nvm-setup.zip。
如果动手能力比较强,可以考虑下载绿色版,不过需要自行配置相关的环境变量,这里就不赘述了。
下一步,点点点,完成安装,打开 CMD,nvm -v 查看是不是安装成功了。
nvm -v
#Running version 1.1.7.
# 查看已经安装的版本
nvm list
# 安装指定的版本
nvm install 10.22.0
# 指定使用的版本
nvm use 10.22.0
# 卸载指定的版本
mvn uninstall 10.22.0
具体版本效果如下图:
以下内容翻译自 nvm 自带的操作提示:
# 显示 nvm 运行在 32/64 位环境
nvm arch
# 安装新的版本
# <version> 指定版本号或使用 latest 安装最新
# [arch] 可选参数,all 表示同时安装 32/64 位(默认当前系统位数)
# 在命令后追加 --insecure 可绕过远程服务器的 SSL
nvm install <version> [arch]
# 显示已安装的列表
# [available] 可选参数,显示所有可安装的列表
nvm list [available]
# 开启版本管理
nvm on
# 关闭版本管理
nvm off
# 设置下载代理
# [url] 可选参数,没有填写则显示当前代理
nvm proxy [url]
# 设置 node.js 镜像
nvm node_mirror [url]
# 设置 npm 镜像
nvm npm_mirror [url]
# 卸载某个版本
nvm uninstall <version>
# 使用切换某个版本,可以 [arch] 指定位数
nvm use [version] [arch]
# 设置不同版本存放目录,默认当前目录
nvm root [path]
# nvm 版本
nvm version
上文中提交 nvm root [path] 可以设置版本存放的位置,默认是在 nvm 的安装路径下。
每个版本中所安装的公共模块独立存在于各自的版本目录下,这意味着当安装新的版本后一些公共库需要重新安装。
但是在该版本下已经安装好的公共库则无需重新安装。
在不同的 node.js 中引入的 npm 是不同的,通过查看 npm 命令的来源位置可以了解是如何运作的。
实际上通过目录结构我们已经能够明白,nvm 是如何实现不同版本间完全隔离的。
实际的 npm 指向就是各自版本的 node_modules 目录下。
nvm 也是通过这种方式实现各个版本间的完全隔离。
当前还没有观点发布,欢迎您留下足迹!
严谨的页面开发需要着重关注前台校验相关的内容,确保请求参数的合法以保证服务器安全,界面参数众多需要建立一个公共方法,公共校验器的核心方法是Jquery.bind()
HTML 中加载 SVG 有很多种方式,但如果需要在 HTML 中通过 CSS 样式自由控制 SVG 样式就必须将 svg 标签插入网页找那个成为 DOM 的一部分,本文借助 SVGInject 插件可以快速完成这一操作
多数网站首页的数据往往是最庞大的,三到五秒打开都算比较优秀,因此设置一个开场(预加载)动画特效能够大幅度提升用户感官体验,这里分享本站使用的加载动画,整体比较简约清新
Vuex 是一个专为 Vue 应用程序开发的状态管理模式,通过集中式存储应用所有组件的状态,依照规则确保状态可以进行标准方式变化,比较适合应用在公共基础数据存放,如:用户信息
instantclick.js利用预加载技术使得网站页面跳转时的速度得到大大提升,通过预加载数据替换当前的DOM结构体来达到减少页面请求返回的数据量,提供事件监听钩子函数便于完成页面初始化
Vue3 中所提供组合 API、ref、reactive、provide、inject几大特性,可以支持完成全局状态管理能力,Vuex 是为 Vue 单独提供的状态管理插件,相对比较笨重,如果项目简单可以尝试替代