npm介紹

      網友投稿 985 2025-04-01

      (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介紹

      npm由于內置在node.js中,所以就一并安裝了。有時候我們只想單獨安裝npm,不想安裝node.js,這種目前不支持。

      JavaScript Node.js

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS的word怎么設置標尺
      下一篇:wps表格打印出來沒表格線(WPS打印表格為什么沒有表格線)
      相關文章
      亚洲中文字幕无码久久2020| 亚洲精品福利网泷泽萝拉| 亚洲成aⅴ人片在线影院八| 亚洲av午夜成人片精品网站| 亚洲一区二区女搞男| 亚洲一本大道无码av天堂| 国产精品亚洲а∨天堂2021| 亚洲AV无码一区二区三区性色| 亚洲欧美日韩综合久久久久| 亚洲六月丁香六月婷婷色伊人| 亚洲黄色免费在线观看| 久久亚洲精品无码AV红樱桃| 亚洲91av视频| 亚洲视频在线观看| 久久久久亚洲精品天堂| 亚洲综合久久综合激情久久| 伊人久久综在合线亚洲2019| 亚洲综合无码一区二区| 亚洲最大福利视频网站| 亚洲综合激情另类小说区| 久久久亚洲欧洲日产国码aⅴ | 亚洲成人动漫在线| 亚洲av永久无码精品表情包| 亚洲AV无码久久精品成人| 久久精品亚洲综合一品| 亚洲国产国产综合一区首页| 久久久久亚洲精品天堂| 亚洲字幕在线观看| 亚洲天堂2016| 亚洲国产精品成人AV在线 | 中文无码亚洲精品字幕| 亚洲一区二区无码偷拍| 自拍偷自拍亚洲精品偷一| 亚洲国产精品一区二区第一页免| 亚洲精品无码成人片在线观看| 亚洲一区二区三区自拍公司| 亚洲av无码无在线观看红杏| 精品亚洲国产成AV人片传媒| 亚洲成人高清在线观看| 亚洲无mate20pro麻豆| 亚洲.国产.欧美一区二区三区|