node.js是javascript的一種運行環(huán)境,是對Google V8引擎進行的封裝。是一個服務器端的javascript的解釋器。
包含關系,nodejs中含有npm,比如說你安裝好nodejs,你打開cmd輸入npm -v會發(fā)現(xiàn)npm的版本號,說明npm已經(jīng)安裝好。
引用大神的總結:
其實npm是nodejs的包管理器(package manager)。我們在Node.js上開發(fā)時,會用到很多別人已經(jīng)寫好的javascript代碼,
如果每當我們需要別人的代碼時,都根據(jù)名字搜索一下,下載源碼,解壓,再使用,會非常麻煩。于是就出現(xiàn)了包管理器npm。
大家把自己寫好的源碼上傳到npm官網(wǎng)上,如果要用某個或某些個,直接通過npm安裝就可以了,不用管那個源碼在哪里。
并且如果我們要使用模塊A,而模塊A又依賴模塊B,模塊B又依賴模塊C和D,此時npm會根據(jù)依賴關系,
把所有依賴的包都下載下來并且管理起來。試想如果這些工作全靠我們自己去完成會多么麻煩!
npm則是包含在node.js里面的一個包管理工具,就如同linux中的yum倉庫,rpm包管理;如同python中的pip包管理工具一樣。
而這些包管理工具都是予以使用的人們方便,同時解決各種包依賴之間的關系的。
等下面演示后,就會知道有npm去解決項目及包之間的依賴關系是多么的便利,省去了人手上的多少心力。讓開發(fā)人員專注于代碼上。
既然npm是包管理工具,那么它自己也和node.js分開自成一個網(wǎng)站,在npm的網(wǎng)站上面,就如同github,其倉庫中保管了N多的開源項目,有世界上眾多開發(fā)者提供的項目。我們只需要在npm的網(wǎng)站上搜索相關的就可以找到,然后在線上下載也行,直接在自己的項目中使用命令行安裝也行。
npm 由三個獨立的部分組成:
npm官方網(wǎng)站(倉庫源)
注冊表(registry)(package.json)
命令行工具 (CLI)
網(wǎng)站 是開發(fā)者查找包(package)、設置參數(shù)以及管理 npm 使用體驗的主要途徑。
注冊表 是一個巨大的數(shù)據(jù)庫,保存了每個包(package)的信息。
CLI 通過命令行或終端運行。開發(fā)者通過 CLI 與 npm 打交道。
留言反饋