npm(node包管理器)
npm是node的包管理器,所以在使用npm之前需要先安裝node.js
--安裝node.js
node官網(wǎng)-->下載最新的node安裝包-->安裝
具體安裝流程參照:https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/00143450141843488beddae2a1044cab5acb5125baf0882000
--安裝完畢
在安裝node時(shí),也順帶將npm安裝好了,可以通過node -v,npm -v命令來查看node,npm的版本號(hào)
npm常見的使用場(chǎng)景
--允許用戶從NPM服務(wù)器下載別人編寫的第三方包到本地使用。
--允許用戶從NPM服務(wù)器下載并安裝別人編寫的命令行程序到本地使用。
--允許用戶將自己編寫的包或命令行程序上傳到NPM服務(wù)器供別人使用。
升級(jí)npm版本
--安裝在全局環(huán)境變量下
npm i npm -g
查看npm版本
npm -v
初始化
創(chuàng)建模塊,生成一個(gè)package.json 文件,package.json 文件中包含了:該項(xiàng)目的 git 地址;項(xiàng)目簡(jiǎn)介;依賴模塊;bug 匯報(bào)地址等等信息。如今很多工具都利用 package.json 來存放配置文件,比如 eslint 可以讀取 package.json 中的 eslintConfig 字段來獲取配置,babel 可以讀取 babel 字段來獲取配置。
npm init -y
安裝命令行程序
-- 全局安裝
npm install <package> –g / npm i –g <package>
全局更新:
npm update -g <package>
全局卸載
npm uninstall -g <package>
查看全局目錄
npm config get prefix -->C:\Users\damu\AppData\Roaming\npm
npm root -g -->C:\Users\damu\AppData\Roaming\npm\node_modules
運(yùn)行
--npm 待打包文件的路徑 -o 打包文件放置的路徑及其文件名
eg: npm ./js/index.js -o ./js/main.js
-- 本地安裝
npm install webpack --save (--save:生產(chǎn)(上線)環(huán)境)
將模塊寫入package.josn的dependencies屬性(項(xiàng)目應(yīng)用運(yùn)行時(shí)依賴)
npm install webpack --save-dev (--save-dev:開發(fā)環(huán)境)
將模塊寫入package.josn的devDependencies屬性(項(xiàng)目應(yīng)用開發(fā)時(shí)依賴)
運(yùn)行
--npm腳本運(yùn)行
npm run "屬性名"
--npx包執(zhí)行器運(yùn)行
npx <package> index.js -o main.js
npm腳本
npm允許在package.josn文件中,使用scripts字段定義腳本命令:
"scripts":{
"build": "webpack"
}
運(yùn)行腳本:npm run build
查看npm可用的所有腳本 : npm run
在使用 npm run 的時(shí)候會(huì)將 node_modules/.bin 加入環(huán)境變量 PATH 中,在命令執(zhí)行完了再移除,因此你不需要寫成:"build": "./node_modules/.bin/webpack"
模塊版本號(hào)
語(yǔ)義版本號(hào)分為X.Y.Z三位,分別代表主版本號(hào)、次版本號(hào)和補(bǔ)丁版本號(hào)
按以下規(guī)則進(jìn)行版本的升級(jí)更新:
1.如果只是修復(fù)bug,需要更新Z位。
1.2.* ~1.2.0 每次安裝的時(shí)候z位使用最新的
2.如果是新增了功能,但是向下兼容,需要更新Y位。
2.x ^2.0.0 每次安裝的時(shí)候y位使用最新的
3.如果有大變動(dòng),向下不兼容,需要更新X位。
npx包執(zhí)行器
既沒有在全局安裝命令行程序,也沒有在本地安裝命令行程序,則在執(zhí)行打包命令--->npx <package> index.js -o main.js時(shí),會(huì)先查找本地有沒有命令行程序,若沒有則自動(dòng)下載安裝命令行,但自動(dòng)下載下來的文件既不在全局,也不在本地。