講到安裝之前,簡單講講什么是npm和npm。
什么是npm?
NPM是隨同NodeJS一起安裝的包管理工具,能解決NodeJS代碼部署上的很多問題,常見的使用場景有以下幾種:
- 允許用戶從NPM服務器下載別人編寫的第三方包到本地使用。
- 允許用戶從NPM服務器下載並安裝別人編寫的命令行程序到本地使用。
- 允許用戶將自己編寫的包或命令行程序上傳到NPM服務器供別人使用。
如何安裝npm?
由於新版的nodejs已經集成了npm,所以之前npm也一並安裝好了。同樣可以通過輸入 "npm -v" 來測試是否成功安裝。同樣同時win+r鍵,打開cmd控制台,輸入命令,出現版本提示表示安裝成功:
如果想要升級npm,可以同npm安裝命令來將它升級:(npm install npm -g)
由於我之前已經升級過了,現在也就是這個版本了。
npm命令?
在升級npm工具的時候,我們可以運行了 “npm install npm -g”的這樣一個命令,那么我們將這句命令拆解一下:
第一個npm:告訴系統要執行npm命令;
install:中文意思“安裝”,通常可以使用簡寫,用 i 來表示,比如:npm i npm -g 這樣寫;
第二個npm:告訴npm工具你要下載的包名稱,比如現在日常中用到的jQuery、bootstrap、axios什么的;
-g:g是global,中文翻譯是“全局”的意思,也就要全局安裝(不要忘記“-”);
上面就是npm一條執行命令的拆解,也讓大家有了個大概的了解,那么繼續講講哪些可以組成npm命令。
想要了解更多,我們求助一下cmd控制台,在cmd中輸入:npm help
好家伙,想要了解的都已經幫你羅列出來了。但我們不需要學習這么多,只要簡單了解一些常用的就好,有興趣的朋友可以自行深入,這里就不講太多了。
我們看看哪些是日常前端開發中是常用到的:
init:顧名思義,初始化。創建項目之前,想要生成包管理工具,運行 npm init 可以生成package.json文件,這個就是報管理的核心文件;
uninstall: 中文意思“卸載”,如果你覺得哪個包是多余的,或者不想用了,那么可以通過npm命令卸載,縮寫為 un ,跟安裝的命令一樣:npm uninstall jQuery -g;
version:重要意思“版本”,通常用於查看npm工具的版本號,可以縮寫為 v;
-S:S是save的縮寫,也就是保存的意思,在安裝命令后寫上,會將該安裝的包保存到package.json文件的dependencies中,在生產環境下,這個包的依賴依然存在;
-D:D是develop的縮寫,也就是開發的意思,在安裝命令后寫上,會將該安裝包保存到package.json文件的Devdependencies下,僅在開發環境中使用,比如:babel;
run:執行命令,執行的是package.js下script字段下的聲明的命令,比如:npm run gulp;
日常開發中需要用的也就上面的一些,如果沒有提及到的,也歡迎大家留言補充啊!
核心文件package.json?
我們先生成一個這個文件,然后再研究研究里面:
找一個空文件,cmd控制台進入空文件夾,運行: npm init,靜靜等待一下:
要填的信息,可以先一路回車,回車不了,隨便填個字符就好。最后輸入 yes
我們進入到初始化的文件夾內,打開里面的package.json文件:
{ "name": "1", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
拆解一下里面的字段:
name:項目名稱,自定義;
version:版本號,自定義;
description:項目描述,自定義;
main:主要文件;
scripts:運行命令,可以自定義;
author:項目作者,自定義;
license:許可證;
當然,里面可以包含的東西還有很多,上面有提到的dependencies和Devdependencies這些等。
什么是cnpm?
因為npm安裝插件是從國外服務器下載,受網絡影響大,可能出現異常,如果npm的服務器在中國就好了,所以我們樂於分享的淘寶團隊干了這事。cnpm跟npm用法完全一致,只是在執行命令時將npm改為cnpm。
如何安裝cnpm?
執行:npm install -g cnpm --registry=https://registry.npm.taobao.org
安裝完,運行cnpm -v 查看一下版本號;
如何使用?
比如安裝jQuery,執行:cnpm install jQuery;
從截圖可以看出,這個下載速度是杠杠的啊。
好了,關於npm就講到這里吧!
成功就是每天一點一點的積累!