在Node中,我们需要常常使用的四种工具,学会并掌握这四种工具将对你学习和掌握Node有很大的帮助。下面我就为你一一介绍这四种工具的使用。
NVM: Node Version Manager
nvm是管理node版本的一种工具,例如在项目中需要不同的node版本去运行或者开发,这时候就nvm就很好的帮助你去切换node版本,详情可以查看官网NVM官网 ,这里再附上安装包的地址:https://github.com/nvm-sh/nvm。
附上一些常用的命令 来操作NVM
nvm -v 安装后验证NVM是否安装成功。
nvm install <version> [<arch>] arch参数表示系统位数 默认是64位,
nvm use [<arch>] 使用特定版本
NPM: Node Package Manager
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,同时也是NodeJS非常常用的一个工具。它能帮助你从NPM服务器下载别人编写的第三方包到本地使用,从NPM服务器下载并安装别人编写的命令行程序到本地使用,将自己编写的包或命令行程序上传到NPM服务器供别人使用。
- 初始化(每次新建文件夹的时候都需要初始化一下文件夹)
npm init -y
- 首先使用 npm 命令安装模块
npm install <Module Name> (后面是你要安装的模块名)
//我们使用 npm 命令安装常用的 Node.js web框架模块 express:
npm install express
- 全局安装与本地安装
npm install express # 本地安装
npm install express -g # 全局安装
- 上传自己的包
4.1 编写模块,保存为index.js
exports.sayHello = function(){
return 'Hello World';
}
4.2 初始化包描述文件
$ npm init package.json
{
"name": "gp19-npm",
"version": "1.0.1",
"description": "gp19 self module",
"main": "index.js",
"scripts": {
"test": "make test"
},
"repository": {
"type": "Git",
"url": "git+https://github.com/lurongtao/gp19-npm.git"
},
"keywords": [
"demo"
],
"author": "Felixlu",
"license": "ISC",
"bugs": {
"url": "https://github.com/lurongtao/gp19-npm/issues"
},
"homepage": "https://github.com/lurongtao/gp19-npm#readme",
}
4.3 注册npm仓库账号
https://www.npmjs.com 上面的账号
felix_lurt/qqmko09ijn(自己随便写的账号)
$ npm adduser 登录刚刚自己创建的账号
4.5 上传包
$ npm publish
坑:403 Forbidden
查看npm源:npm config get registry
切换npm源方法一:npm config set registry http://registry.npmjs.org
切换npm源方法二:nrm use npm
4.6 安装包
$ npm install gp19-npm
4.7 卸载包
查看当前项目引用了哪些包 :
npm ls
卸载包:
npm unpublish --force
4.8 使用引入包
var hello = require('gp19-npm')
hello.sayHello()
- npm 安装 git 上发布的包
# 这样适合安装公司内部的git服务器上的项目
npm install git+https://git@github.com:lurongtao/gp-project.git
# 或者以ssh的方式
npm install git+ssh://git@github.com:lurongtao/gp-project.git
NRM: npm registry manager
由于国内使用npm官方源安装包的时候比较慢,基本上在国内开发都会修改npm源地址,所以NRM就是为了换源而用的
安装 nrm
在命令行执行命令,npm install -g nrm,全局安装nrm。
查看NPM源地址,在终端输入以下命令
npm config list
会看到官方的npm源
metrics-registry = "https://registry.npmjs.org/"
国内常用的镜像地址如淘宝
npm:https://registry.npm.taobao.org/
切换到淘宝源
npm set registry https://registry.npm.taobao.org/
删除源
npm config rm registry
切换源
nrm use cnpm
测试每个源的速度
nrm test
NPX: npm package extention
Node 自带 npm 模块,所以可以直接使用 npx 命令。万一不能用,就要手动安装一下。
安装 npx
$ npm install -g npx
npx 主要解决了 让项目内部安装的模块用起来更方便
比如安装webpacknpm i -D webpack要运行其命令要:
./node_modules/.bin/webpack -v
而用npx可直接:
npx webpack -v
避免全局安装模块
除了调用项目内部模块,npx 还能避免全局安装的模块。比如,create-react-app 这个模块是全局安装,npx 可以运行它,而且不进行全局安装。
$ npx create-react-app my-react-app
上面代码运行时,npx 将 create-react-app 下载到一个临时目录,使用以后再删除。所以,以后再次执行上面的命令,会重新下载 create-react-app。
注意,只要 npx 后面的模块无法在本地发现,就会下载同名模块。比如,本地没有安装http-server模块,下面的命令会自动下载该模块,在当前目录启动一个 Web 服务。
$ npx http-server
–no-install 参数和 --ignore-existing 参数
如果想让 npx 强制使用本地模块,不下载远程模块,可以使用–no-install参数。如果本地不存在该模块,就会报错。
$ npx --no-install http-server
反过来,如果忽略本地的同名模块,强制安装使用远程模块,可以使用–ignore-existing参数。比如,本地已经安装了http-server,但还是想使用远程模块,就用这个参数。
$ npx --ignore-existing http-server