npm介紹
(1)npm介紹
在正式介紹Node.js學習之前,我們先認識一下npm。
npm是什么東西?npm其實是Node.js的包管理工具(package manager)。
為啥需要一個包管理工具呢?因為我們在Node.js上開發時,會用到很多別人寫的JavaScript代碼。如果我們要使用別人寫的某個包,每次都根據名稱搜索一下官方網站,下載代碼,解壓,再使用,非常繁瑣。于是一個集中管理的工具應運而生:大家都把自己開發的模塊打包后放到npm官網上,如果要使用,直接通過npm安裝就可以直接用,不用管代碼存在哪,應該從哪下載。舉個例子:如果我們要使用模塊A,而模塊A又依賴于模塊B,模塊B又依賴于模塊X和模塊Y,npm可以根據依賴關系,把所有依賴的包都下載下來并管理起來。否則,靠我們自己手動管理,肯定既麻煩又容易出錯。
比如之前的swiper開發,需要引入jquery類型文件,因為swiper是基于jquery語法開發。普通方案需要挨個引入,有了npm即nodejs的包管理工具后,它會自己根據文件依賴安裝相應文件。
場景:
當一個網站依賴的js代碼越來越多,程序員發現這是一件很麻煩的事情:
去 jQuery 官網下載 jQuery
去 BootStrap 官網下載 BootStrap
去 Underscore 官網下載 Underscore
……
有些程序員就受不了了,于是npm就出來了,全稱是 Node Package Manager 包管理工具。這一點和maven、gradle十分相似,只不過maven、gradle是用來管理java jar包的,而npm是用來管理js的。
NPM 的實現思路和maven、gradle是一樣的:
1、有一個遠程代碼倉庫(registry),在里面存放所有需要被共享的js代碼,每個js文件都有自己唯一標識。
2、用戶想使用某個js的時候,只需引用對應的標識,js文件會自動下載下來。
(2)nodejs
在Windows上安裝時務必選擇全部組件,包括勾選Add to Path。
安裝完成后,在Windows環境下,請打開命令提示符,然后輸入node -v,如果安裝正常,你應該看到版本輸出。
Node.js平臺是在后端運行JavaScript代碼,可以把它理解成PHP和java同等的后臺開發語言。
Node.js是一個基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應速度快、易于擴展的網絡應用。Node.js 使用事件驅動, 非阻塞I/O模型而得以輕量和高效,
非常適合在分布式設備上運行數據密集型的實時應用。
以上摘自百度百科,簡單來說,Node.js很適合搭建輕量的服務器(應用),所以它又被人稱為服務器語言,前端中的后端語言。node翻譯過來是節點的意思,而node.js后面特地帶了.js,就表示它與JavaScript有莫大的關系。?node.js是javascript的一種運行環境,是服務器端的javascript的解釋器。
(3)npm與node關系
npm則是包含在node.js里面的一個包管理工具,就如同linux中的yum倉庫,rpm包管理;如同python中的pip包管理工具一樣。而這些包管理工具都是予以使用的人們方便,同時解決各種包依賴之間的關系的。?等下面演示后,就會知道有npm去解決項目及包之間的依賴關系是多么的便利,省去了人手上的多少心力。讓開發人員專注于代碼上。
既然npm是包管理工具,那么它自己也和node.js分開自成一個網站,在npm的網站上面,就如同github,其倉庫中保管了N多的開源項目,有世界上眾多開發者提供的項目。我們只需要在npm的網站上搜索相關的就可以找到,然后在線上下載也行,直接在自己的項目中使用命令行安裝也行。
npm 由三個獨立的部分組成:
? npm官方網站(倉庫源)
? 注冊表(registry)(package.json)
? 命令行工具 (CLI)
網站 是開發者查找包(package)、設置參數以及管理 npm 使用體驗的主要途徑。
注冊表 是一個巨大的數據庫,保存了每個包(package)的信息。
CLI 通過命令行或終端運行。開發者通過 CLI 與 npm 打交道。
(4)Node.js是什么
Node.js是一個Javascript運行環境(runtime environment),不是一個js文件,實質是對Chrome V8引擎進行了封裝。Node.js 是一個讓 JavaScript 運行在服務端的開發平臺,它讓 JavaScript 成為與PHP、Python 等服務端語言平起平坐的腳本語言。
[1]Node.js提供替代的API,使得V8在非瀏覽器環境下運行得更好。V8引擎執行Javascript的速度非常快,性能非常好。
[2]Node.js是一個基于Chrome JavaScript運行時建立的平臺, 用于方便地搭建響應速度快、易于擴展的網絡應用。
chrome瀏覽器和Node.js在解析javascript都使用了v8引擎:
(5)npm與nodejs發展
(6)node.js和npm的安裝
npm由于內置在node.js中,所以就一并安裝了。有時候我們只想單獨安裝npm,不想安裝node.js,這種目前不支持。
JavaScript Node.js
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。