npm

本來打算暑假將自己每天學到的東西寫下來,每天做成一篇文章的,結(jié)果現(xiàn)在每周能產(chǎn)出一篇文章就不錯了。。?!狙诿妗?。。今天學了點npm命令行操作,就寫一下

1.簡介
npm有兩層含義。一層含義是Node的開放式模塊登記和管理系統(tǒng),網(wǎng)址為npmjs.org。另一層含義是Node默認的模塊管理器,是一個命令行下的軟件,用來安裝和管理Node模塊。npm不需要單獨安裝。在安裝Node的時候,會連帶一起安裝npm。但是,Node附帶的npm可能不是最新版本,最好用下面的命令,更新到最新版本:

$ npm install npm@latest -g

查看版本信息:

$ npm -v

2.npm init
用來初始化創(chuàng)建一個package.json文件

# -y表示跳過提問階段,直接生成一個package.json文件
$ npm init -y

3.npm info
用來查看每個模板的信息

# 查看babel模板信息
$ npm info babel-cli

4.4、npm search
用來搜索npm倉庫

$ npm search <搜索詞>

5、npm list
以樹形結(jié)構列出當前項目安裝的所有模板,以及它們依賴的模板

$ npm list

# 列出全局安裝的模板
$ npm list -global

6、npm install
node模板通過這個命令來安裝,有全局安裝:指的是將一個模板安裝到系統(tǒng)目錄中,各個項目都可以調(diào)用;有本地安裝:指的是將一個模板下載到當前項目的node_modules子目錄中,然后只有在項目目錄中,才能調(diào)用這個模板。

# 本地安裝
$ npm install <package name>

# 全局安裝
$ npm install -g <package name>
# 也可以安裝github代碼庫地址:
$ npm install git://github.com/package/.....

安裝github代碼庫之前,npm install會先檢查,node_modules目錄之中是否已經(jīng)存在指定模板。如果存在,就不會再重新安裝了。

7、-save和-save-dev
-save:模板名將被添加到dependencies(dependencies字段指定了項目運行所依賴的模板),可以簡化為-S
-save-dev:模板名將被添加到devDependencies(devDependencies指定了項目開發(fā)所需要的模板),可以簡化為-D

$ npm install react --save
$ npm install react -S

$ npm install react --save-dev
$ npm install react -D

npm install默認會安裝dependencies字段和DevDependencies字段中的所有版本,如果使用--production參數(shù),則只安裝dependencies字段中的模板

$ npm install --production

ps:
也就是說,如果你在package.json的dependencies或者DevDependencies字段里將要安裝的模板名及版本寫入進去了,那么當你直接敲npm install時,那么就會安裝相應的模板。
如果你是用來-save和-save-dev參數(shù),那么就會安裝相應的模板,然后將參數(shù)寫入到package.json的dependencies字段或DevDependencies字段中。

8、npm update,npm uninstall
更新和卸載

$ npm update <package name>
$ npm uninstall <package name>

9、npm run
npm不僅可以用于模塊管理,還可以用于執(zhí)行腳本。package.json文件里有一個scripts字段,可以用于指定腳本命令,供npm直接調(diào)用。
比如,現(xiàn)在用browserify打包一個reactJs文件,scripts字段如下:

{
  "scripts":{
     "bundle":"browserify js\build\app.js -o bundle.js"
  }
}

現(xiàn)在輸入npm run bundle就會打包這個文件

npm run命令會自動在環(huán)境變量$PATH添加node_modules/.bin目錄,所以scripts字段里面調(diào)用命令時不用加上路徑,這就避免了全局安裝NPM模塊。
npm run如果不加任何參數(shù),直接運行,會列出package.json里面所有可以執(zhí)行的腳本命令
舉例來說,現(xiàn)在安裝一個react-dom模板:

$ npm install react-dom --save-dev

運行上面的命令以后,會產(chǎn)生兩個結(jié)果。首先,react-dom被安裝到當前目錄的node_modules子目錄;其次,node_modules/.bin目錄會生成一個符號鏈接node_modules/.bin/eslint,指向ESLint模塊的可執(zhí)行腳本。
然后,你就可以在package.json的script屬性里面,不帶路徑的引用react-dom這個腳本。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • npm是什么 NPM的全稱是Node Package Manager,是隨同NodeJS一起安裝的包管理和分發(fā)工具...
    build1024閱讀 8,143評論 0 9
  • 什么是 NPM npm之于Node,就像pip之于Python,gem之于Ruby,composer之于PHP。 ...
    ihoey閱讀 6,367評論 2 36
  • 描述 npm從以下來源獲取配置值,按優(yōu)先級排序: 命令行標記 在命令行上放置--foo bar設置foo配置參數(shù)為...
    竹天亮閱讀 44,507評論 0 8
  • 大家好,我是IT修真院深圳分院第3期的學員,一枚正直純潔善良的前端程序員,今天給大家分享一下,修真院官網(wǎng)前端工程師...
    大大頭大閱讀 3,060評論 0 1
  • 無邊的奇跡源自簡單規(guī)則的無限重復?!猙enoit mondelbrot 人類的理性的認知范圍總是在不斷擴大,從離...
    Sai16384閱讀 9,757評論 1 5

友情鏈接更多精彩內(nèi)容