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來得到:

完!

相關文章
相關標籤/搜索