npm 全称为 node package manager,即 node 包管理。node
npm 包分为全局包、本地包。react
全局包(不能在代码中使用 只能在命令中使用) 、 本地包(只能在当前项目中使用)git
全局包的安装命令为github
npm i xxx -gnpm
本地包的安装命令为json
npm i xxx --save-dev/--save
-D 为 --save-dev 的简写,-S 为 --save 的简写
-D 指开发依赖,如 babel 等,主要做用是编译代码,-S 为项目依赖,为项目提供支持,如 reactbash
nrm 全称为 npm registry manager,即 npm 的镜像源管理工具。babel
nrm 下载命令为 npm i nrm -g
mac 下须要在命令前加 sudo
网络
咱们能够经过 nrm --help
命令来查看 nrm 的相关命令:curl
使用 nrm ls
来查看当前可用的 npm
源
使用 nrm test
来测试当前各个源下的网速
使用 nrm current
来查看当前本身使用的 npm
源
使用 nrm use xx
来切换本身的下载源
经常使用的 node 版本工具备两个:
他们的区别大体能够分为一下几点:
一、安装方式:
n
是一个须要全局安装的 npm
包,所以在使用 n
以前,你必须已经安装了 node
。curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
二、node 管理方式
n
会先将指定版本的 node
存储下来,而后将其复制到咱们熟知的路径 /usr/local/bin
,很是简单明了。固然因为 n 会操做到非用户目录,因此须要加 sudo
来执行命令。nvm
将不一样的 node
版本存储到 ~/.nvm/<version>/
下,而后修改$PATH
,将指定版本的 node
路径加入,这样咱们调用的 node
命令便是使用指定版本的 node
。三、对全局模块的管理。
四、系统支持
一、新建文件夹 my-npm
,并经过 npm init
初始化项目
二、新建 bin
目录,并在 package.json
中新增 bin
配置项
// my-npm/bin/index.js
#! /usr/bin/env node // 声明运行环境为 node
require('../index');
console.log('my-npm')
复制代码
package.json
"bin": {
"my-npm": "./bin/index.js"
},
复制代码
三、cd 到 my-npm 目录下,运行 npm link
命令
右上图咱们可知,在执行 npm link
命令后,系统在新增了 /usr/local/bin
目录下新增了 my-npm
命令,该命令的实际文件地址指向 /Users/mac/Desktop/zf/node/my-npm
,即咱们新建的项目。
此时,输入 my-npm
命令,便可执行咱们新建的全局命令,打印出文件的内容。
四、可经过 npm unlink
来删除该命令
删除命令后,my-npm
则失效。
一、注册npm 帐号
二、进入项目目录,登录 npm 帐号
$ npm adduser
Username:
Password:
Email:
复制代码
以下图:
三、上传
npm publish
复制代码
若包名已经存在,则会抛错:
若包名和已经存在的包名类似,则抛出如下错误:
提示咱们能够在包名前加上做用域,修改包名后继续提交:
咱们能够使用 npm version xx
命令来修改 npm 包的版本号,具体参数能够经过 --help
来得到: