一、npm install –global、–save、–save-dev的區(qū)別
1、執(zhí)行環(huán)境不同
npm install –global:任意地方打開shell窗口皆可執(zhí)行(前提npm是全局安裝的,在任意地方都能訪問),模塊安裝到全局環(huán)境中,即使在項目空間中安裝也不會安裝到node_modules中;npm install –save:在項目工作空間下執(zhí)行,安裝模塊到項目的node_modules目錄下;npm install –save-dev:在項目工作空間下執(zhí)行,安裝模塊到項目的node_modules目錄下。2、功能不同
npm install –global:在項目空間中執(zhí)行也不會修改項目package.json文件;npm install –save:修改項目package.json文件,寫入到dependencies節(jié)點下;npm install –save-dev:修改項目package.json文件,寫入到devDependencies節(jié)點下。3、使用場景不同
npm install –global:是一些需要通用的工具類安裝,比如npm、yarn;npm install –save:是項目需要的,是項目運行必備,如:vue、element-ui等;npm install –save-dev:是開發(fā)時需要的,但是項目運行不必須的,不需要打包到項目里的,如:webkpack、gulp等。二、npm使用介紹
1、使用場景
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。允許用戶從NPM服務器下載并安裝別人編寫的命令行程序到本地使用。允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。2、npm安裝
由于新版的nodejs已經(jīng)集成了npm,所以之前npm也一并安裝好了。同樣可以通過輸入?“npm -v”?來測試是否成功安裝。命令如下,出現(xiàn)版本提示表示安裝成功:
$ npm -v2.3.0
如果你安裝的是舊版本的 npm,可以很容易得通過 npm 命令來升級,命令如下:
$ sudo npm install npm -g/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.jsnpm@2.14.2 /usr/local/lib/node_modules/npm
如果是 Window 系統(tǒng)使用以下命令即可:
npm install npm -g
也可以使用淘寶鏡像的命令:
npm install -g cnpm --registry=https://registry.npmmirror.com
3、使用npm命令安裝模塊
npm 安裝 Node.js 模塊語法格式如下:
$ npm install
以下實例,我們使用 npm 命令安裝常用的 Node.js web 框架模塊 express:
$ npm install express
安裝好之后,express 包就放在了工程目錄下的 node_modules 目錄中,因此在代碼中只需要通過?require(‘express’)?的方式就好,無需指定第三方包路徑:
var express = require('express');
4、全局安裝與本地安裝
npm 的包安裝分為本地安裝(local)、全局安裝(global)兩種,從敲的命令行來看,差別只是有沒有-g而已,比如:
npm install express # 本地安裝npm install express -g # 全局安裝
如果出現(xiàn)以下錯誤:
npm err! Error: connect ECONNREFUSED 127.0.0.1:8087
解決辦法為:
$ npm config set proxy null
本地安裝:
將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執(zhí)行 npm 命令的目錄下生成 node_modules 目錄??梢酝ㄟ^ require() 來引入本地安裝的包。全局安裝:
將安裝包放在 /usr/local 下或者你 node 的安裝目錄??梢灾苯釉诿钚欣锸褂?。如果你希望具備兩者功能,則需要在兩個地方安裝它或使用?npm link。
延伸閱讀1:Node.js簡介
簡單的說 Node.js 就是運行在服務端的 JavaScript。Node.js 是一個基于 Chrome JavaScript 運行時建立的一個平臺。Node.js 是一個事件驅(qū)動 I/O 服務端 JavaScript 環(huán)境,基于 Google 的 V8 引擎,V8 引擎執(zhí)行 Javascript 的速度非???,性能非常好。