Node.js – 项目开发必备管理工具 NVM

Node.js - 项目开发必备管理工具 NVM

使用 NVM 已经是 开发者必备的工具,它最大的用途在于可以轻松切换不同,尤其在后端的中,团队需要统一的开发环境时可以切换到同一个版本,避免发生版本不同而出现冲突问题。

NVM 为 Node Version Manager 的缩写,顾名思义就是「Node 版本管理控制」,常用的功能包含:

  • 切换 Node. 的版本。
  • 使用特定 Node.js 作为预设启用环境。
  • 安装不同的模块至特定的版本上。

通过 安装 Node.js

前篇已经知道可以使用 npm 安装模块了,也知道 npm 是一个 Node.js 预设的管理平台,所以要使用 npm 之前要先安装 Node.js。

为什么要用 nvm 安装

这是之前项目踩过的雷点,原本一开始都是通过 .js 官网下载软体,但是刚好项目就是遇到 node 版本不同的状况,所以要去切换版本,但如果是通过官网下载的版本无法直接切换,经前辈指导建议我通过 nvm 下载 Node.js,这样就可以去切换版本,不管是协作或是未来维护项目都非常好用。

安装方法可以参考 nvm - 版本随你切,此篇就不赘述。

初始化 npm

安装 node 后,就可以在终端机输入 npm init,然后就会需要一连串的确认,最后会问是否确定。

Node.js - 项目开发必备管理工具 NVM

完成后就会出现一个 package.json 档案。

Node.js - 项目开发必备管理工具 NVM

script 指令

这个属性内是可以自订义想要使用的指令,并且通过 npm run xxxx,并且里面会 echo 出要的内容。例如我把指令改成 dev,并且 echo 的内容改成 this is tim's project

Node.js - 项目开发必备管理工具 NVM

执行指令后,终端机会看到刚刚更改的内容。

Node.js - 项目开发必备管理工具 NVM

什么是 package.json

简单说就是这整个项目的说明,设定了什么指令,安装了什么模块,都会呈现在这边,像 dependencies 说明此项目安装了 tailwindcss,如果我要多安装一个 jQuery,就参考上方安装的指令,就会看到我安装完成了 jQuery,并且所有安装的模块都会储存在 node_modules 的资料夹内。

Node.js - 项目开发必备管理工具 NVM

那有安装,就有移除,所以只要输入移除的指令即可 npm uninstall xxxx,所以我要移除 jquery,就只要输入 npm uninstall jquery,jQuery 就被移除了,很方便吧!

Node.js - 项目开发必备管理工具 NVM

然后再看到 package.json 档案就会发现 jQuery 不见了。

Node.js - 项目开发必备管理工具 NVM

在版本控制的时候,并不会把 node_modules 的资料夹也上传,因为如果项目很大,安装的模块多,档案容量就会很大,光是上传下载就浪费很多时间,所以这隻档案就有它的用途了,拿到这隻项目的同事或是自己,只要 package.json 中有纪录安装的模块,这时只要输入 npm i,就会把里面所有的模块一起安装完毕,超方便的啦!

package-lock.json 是什么

主要是可以确定协作开发团队的各模块版本的共同性,不会因为 package.json 的关係,导致不同的人模块版本号不同,在合并分隻的时候而产生冲突,所以如果要管控团队开发模块的版本号,也要把这隻档案合并到版本控制中。

简单说就是如果想要大家的模块都安装最新版本,这隻档案就不需要传给团队,反之,如果要限定版本号,就要把隻档案传给团队。

参考资料