node 梳理(一):npm 相关

npm

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

nrm 全称为 npm registry manager,即 npm 的镜像源管理工具。babel

  • 它是一个 npm 全局包
  • 使用这个工具咱们能够在不一样的 npm 源间切换,便于选择网络较快的下载源。

nrm 下载命令为 npm i nrm -g mac 下须要在命令前加 sudo网络

咱们能够经过 nrm --help 命令来查看 nrm 的相关命令:curl

使用 nrm ls 来查看当前可用的 npm

使用 nrm test 来测试当前各个源下的网速

使用 nrm current 来查看当前本身使用的 npm

使用 nrm use xx 来切换本身的下载源

node 版本管理

经常使用的 node 版本工具备两个:

  • nvm
  • n

他们的区别大体能够分为一下几点:

一、安装方式:

  • n 是一个须要全局安装的 npm 包,所以在使用 n 以前,你必须已经安装了 node
  • 而 nvm 则是一个独立的软件包,咱们须要单独使用它的安装逻辑:
    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
  • nvm 不依赖 node 环境,是 node 依赖 nvm,而不像 n 那样产生相似循环依赖的问题

三、对全局模块的管理。

  • n 对全局模块毫无做为,所以有可能在切换了 node 版本后发生全局模块执行出错的问题
  • nvm 的全局模块存在于各自版本的沙箱中,切换版本后须要从新安装,不一样版本间也不存在任何冲突。

四、系统支持

  • nvm 不支持 Windows

发布本身的 npm 包

全局包

一、新建文件夹 my-npm,并经过 npm init 初始化项目

  • npm init -y 可默认全部配置

二、新建 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来得到:

完!

相关文章
相关标签/搜索