1、NPM是什么?
NPM是JavaScript的包管理工具,在安裝NodeJS(什么?你不知道node?來,我們合計合計:https://nodejs.org/)的時候,會自動安裝上npm。
要查看安裝的npm版本,只需要打開cmd控制台,輸入npm -v
NPM使得JavaScript開發者分享和重用代碼非常容易,同時也讓你能否非常方便的更新你分享的代碼。
NPM能夠自己升級自己,使用命令如下: npm install npm -g
2、NPM的使用
以下代碼示例中:<>表示必選參數,[]表示可選參數
#最常用命令
2.1、 init:用於初始化項目
/*
* npm init [-f|--force|-y|--yes]
*/
//在文件夾中打開cmd,然后輸入npm init,打開項目初始化向導
npm init
//如果文件夾名稱滿足npm的module name,
//那么使用如下方式,可以直接生成一個默認的package.json
//如果文件夾名稱不滿足要求,那么會出錯
npm init -f
npm init --force
npm init --force=true
npm init -y
npm init --yes
npm init --yes=true
2.2、install:用於安裝模塊
/*
* npm install (with no args in a package dir)
* npm install <tarball file>
* npm install <tarball url>
* npm install <folder>
* npm install [@<scope>/]<name> [--save|--save-dev|--save-optional] [--save-exact]
* npm install [@<scope>/]<name>@<tag>
* npm install [@<scope>/]<name>@<version>
* npm install [@<scope>/]<name>@<version range>
* npm i (with any of the previous argument usage)
*/
//直接使用npm install 或者是npm i,表示根據package.json,安裝所有依賴
npm install
npm i
//如果加上--production參數,那么只會安裝dependencies的模塊,
//而不會安裝devDependencies的內模塊
npm install --production
npm i --production
//使用全局上下文來初始化
npm install -g
npm i -g
//安裝指定模塊
npm install <packageName>
npm install <packageName> -g //全局安裝
npm install <packageName>@<version> //指定要安裝的模塊版本
npm install <packageName>@<version_start-version_end> //指定要安裝的模塊版本
npm install <packageName> --registry=<url> //指定零食的倉庫地址
npm install <packageName> --msvs_version=<vs_version> //指定編譯使用的VS版本
npm install <packageName> --save // 安裝模塊並修改package.json的dependencies
npm install <packageName> --save-dev //安裝模塊並修改package.json的devDependencies
npm install <tarball url> //從指定的壓縮包地址安裝,示例如下:
npm install https://github.com/indexzero/forever/tarball/v0.5.6
npm install <tarball file> //從指定的壓縮包安裝,如下(注意壓縮包格式):
npm install del-1.2.0.tar.gz //使用.tgz和.tar.gz格式
npm install @<scope>/<packageName> //安裝私有包
2.3、uninstall:用於卸載模塊
/*
* npm uninstall [@<scope>/]<package> [--save|--save-dev|--save-optional]
*/
//直接卸載模塊,加上-g參數,表示卸載全局的模塊
npm uninstall <packageName>
npm uninstall <packageName> -g
//卸載時同時修改package.json文件
npm uninstall <packageName> --save-dev
npm uninstall <packageName> --save
2.4、update:用於更新模塊
/*
* npm update [-g] [<name> [<name> ...]]
*/
//更新一個或多個模塊,加上-g參數,表示更新全局的模塊
npm update <packageName> [packageName2...]
npm update <packageName> [packageName2...] -g
//更新時同時修改package.json文件
npm update <packageName> [packageName2...] --save-dev
npm update <packageName> [packageName2...] --save
2.5、config:用於設置npm參數
//設置指定參數
npm config set <key> <value> [--global]
npm set <key> <value> [--global] //可以省略config
//獲取現有參數值
npm config get <key>
npm get <key> //可以省略config
//刪除指定參數,此時參數值會變為默認值
npm config delete <key>
//查看npm信息;注意:此命令不是查看所有參數配置
npm config list
//編輯全量的npm配置文件(.npmrc)
npm config edit
//可以將config使用c代替,執行以上所有命令
npm c [set|get|delete|list]
2.6、cache:管理包緩存
//將指定的包加入npm緩存
npm cache add <tarball file>
npm cache add <folder>
npm cache add <tarball url>
npm cache add <name>@<version>
//查看現有的npm包緩存,如果加上path參數,則查看該路徑下的文件
npm cache ls [<path>]
eg: npm cache ls gulp
//清空緩存。如果加上path,則清理指定路徑下的包緩存
npm cache clean [<path>]
eg: npm cache clean gulp