最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js包管理器npm的具體使用

 更新時(shí)間:2021年11月25日 11:56:13   作者:Naisu Xu  
Node.js安裝包中都帶有一個(gè)重要的工具 包管理器npm,本文主要介紹了Node.js包管理器npm的具體使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

目的

目前的Node.js安裝包中都帶有一個(gè)重要的工具 包管理器npm 。npm主要有兩方面功能:下載管理第三方模塊;構(gòu)建與運(yùn)行項(xiàng)目。npm使用本身并不復(fù)雜,但是在大陸的網(wǎng)絡(luò)環(huán)境下使用并不省心,徒增許多工作量。這篇文章將對(duì)相關(guān)內(nèi)容做個(gè)說(shuō)明。

npm init 與 package.json文件

Node.js的項(xiàng)目根目錄下通常會(huì)有一個(gè) package.json 文件,該文件主要配置項(xiàng)目相關(guān)的信息,包括項(xiàng)目名稱(chēng)、版本號(hào)、入口文件、需要的模塊等信息。該文件可以手動(dòng)建立,不過(guò)通常都是用 npm init 命令來(lái)生成的(也可以使用 npm init -y 跳過(guò)詢(xún)問(wèn)階段生成帶默認(rèn)參數(shù)的package.json文件):

在這里插入圖片描述

通常 package.json 文件中都會(huì)包含很多字段,比如下面這樣的:

{
  "name": "naisu",
  "version": "1.0.0",
  "description": "lalala",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "author": "nx",
  "license": "ISC",
  "dependencies": {
    "electron-squirrel-startup": "^1.0.0",
    "serialport": "^9.2.4"
  },
  "devDependencies": {
    "electron": "15.1.1",
    "electron-rebuild": "^3.2.3"
  }
}

其中有些字段是相對(duì)比較重要的,相關(guān)說(shuō)明如下:

name 項(xiàng)目名稱(chēng)

version 項(xiàng)目版本號(hào)

main 項(xiàng)目主入口文件

scripts npm run 命令腳本
比如上面配置了 "start": "node index.js" ,那我們就可以在終端中用 npm run start 來(lái)執(zhí)行 node index.js 命令(start/stop/test/restart這四個(gè)命令可以省略run),這在需要執(zhí)行復(fù)雜命令的時(shí)候很好用;

dependencies 項(xiàng)目運(yùn)行所依賴(lài)的模塊
devDependencies 項(xiàng)目開(kāi)發(fā)所需要的模塊
這兩個(gè)字段保存了項(xiàng)目所依賴(lài)的模塊名稱(chēng)和版本,有這個(gè)信息后就可以使用 npm install 來(lái)安裝這些模塊到項(xiàng)目中了

模塊安裝與管理

安裝模塊

模塊安裝使用 npm install <packageName> 方式,比如下面演示中安裝了 cowsay 模塊:

在這里插入圖片描述

npm在安裝模塊的時(shí)候會(huì)同時(shí)安裝該模塊所依賴(lài)的模塊,默認(rèn)情況下會(huì)安裝在目錄下的 node_modules 文件夾中,安裝的模塊會(huì)記錄在 package.json 文件的 dependencies 字段中,同時(shí)會(huì)在 package-lock.json 文件中記錄模塊與依賴(lài)的模塊的版本信息。

安裝時(shí)模塊名稱(chēng)后可以加上 @版本號(hào) 來(lái)安裝指定版本,如 npm install cowsay@1.5.0 。

如果一個(gè)模塊已安裝了,再次執(zhí)行安裝命令的時(shí)候?qū)⒉粫?huì)重新安裝,可以使用 -f--force 選項(xiàng) 強(qiáng)制安裝來(lái)處理: npm install --force <packageName>

在安裝時(shí)可以使用 -S--save 選項(xiàng)將模塊標(biāo)記為 dependencies 項(xiàng)目運(yùn)行所依賴(lài)的模塊(默認(rèn)值);也可以使用 -D--save-dev 選項(xiàng)將模塊標(biāo)記為 devDependencies 項(xiàng)目開(kāi)發(fā)所需要的模塊,如 npm install --save-dev <packageName> 。

模塊也可以使用 -g--global 選項(xiàng)安裝到全局目錄,如 npm install --global <packageName> 。

安裝模塊命令中的 install 也可以簡(jiǎn)寫(xiě)為 i 使用。

查看已安裝模塊

使用 npm list 可以查看當(dāng)前目錄已安裝的模塊及其依賴(lài)關(guān)系。

使用 -g--global 選項(xiàng)可以查看全局安裝的模塊信息,使用 --depth=x 可以指定查看深度。

在這里插入圖片描述

更新模塊

使用 npm update <packageName> 可以用來(lái)更新模塊,上面提到的 --save --save-dev --global 等選項(xiàng)在這里也可以用。

刪除模塊

使用 npm uninstall <packageName> 可以卸載模塊。
使用 -g--global 選項(xiàng)可以卸載全局模塊。

npx

npx是新版本的npm(自 5.2 起)中帶的一個(gè)工具,主要是用來(lái)運(yùn)行模塊的:如果項(xiàng)目目錄或是系統(tǒng)環(huán)境中有該模塊的話直接運(yùn)行該模塊,如果沒(méi)有的話會(huì)也不用安裝,npx會(huì)將它下載到一個(gè)臨時(shí)目錄中再運(yùn)行。

在這里插入圖片描述

模塊編譯

有的第三方模塊是用其它語(yǔ)言開(kāi)發(fā)的,這些模塊不能直接運(yùn)行,需要針對(duì)運(yùn)行環(huán)境進(jìn)行編譯后才能使用,這就需要編譯工具了,最常見(jiàn)的比如 node-gypnode-pre-gyp 工具。對(duì)于某些模塊在某些平臺(tái)上可能還需要一些其它的工具,比如在windows平臺(tái)上經(jīng)常會(huì)需要用到 windows-build-tools 這個(gè)工具。

這些工具都可以在用到的時(shí)候再安裝進(jìn)行編譯,多數(shù)時(shí)候npm會(huì)自動(dòng)處理這些事情。有的平臺(tái)也可以在安裝Node.js時(shí)安裝這些工具,比如在windows平臺(tái)上可以在安裝Node.js時(shí)勾選安裝這些工具:

在這里插入圖片描述

它會(huì)在安裝完Node.js后接著安裝這些工具:

在這里插入圖片描述

在這里插入圖片描述

如果一開(kāi)始安裝Node.js的時(shí)候沒(méi)有勾選這個(gè)也沒(méi)事,重新安裝下也可以。

版本控制

在前面出現(xiàn)的 package.jsonpackage-lock.json 文件中都記錄了模塊相關(guān)信息,其中一個(gè)重要的信息就是模塊的版本號(hào)。

Node.js中模塊或項(xiàng)目的版本號(hào)由以點(diǎn)分隔的三個(gè)數(shù)字組成,從左到右依次為 主版本 、 次版本 、 補(bǔ)丁版本 。

版本號(hào)規(guī)則本身沒(méi)什么特別的,不過(guò)在npm管理和 package.json 、 package-lock.json 兩個(gè)文件中版本號(hào)前后有很多修飾符,這些符號(hào)規(guī)定了模塊在安裝、更新時(shí)的規(guī)則,常見(jiàn)的規(guī)則如下:

  • 無(wú)任何修飾:指定特定版本,如 2.2.3
  • latest :使用可用的最新版本;
  • ^ :只會(huì)執(zhí)行不更改最左邊非零數(shù)字的更新;
  • ~ :只會(huì)更新補(bǔ)丁版本;
  • > :接受高于指定版本的任何版本;
  • < :接受低于指定版本的任何版本;
  • = :接受確切的版本,可以和 < > 組合使用;
  • - :接受一定范圍的版本,如 2.1.0 - 2.6.2 ;
  • || :組合,如 < 2.1 || > 2.6

換源

在大陸的網(wǎng)絡(luò)環(huán)境下經(jīng)常會(huì)配到模塊下載安裝出錯(cuò)或是失敗,導(dǎo)致程序無(wú)法正確運(yùn)行,可以嘗試下面步驟重新安裝:

  • 清除緩存 npm cache clean --force
  • 刪除 node_modules 文件夾及其中內(nèi)容;
  • 如果有 package-lock.json 文件也可以刪除它(記得備份);
  • 重新安裝模塊(有 package.json 文件的話只要 npm install 就可以一步安裝所有模塊);

如果上面方式不管用,并且沒(méi)有梯子或是梯子也不管用的話就只能?chē)L試換源了。

使用 nrm 工具換源

npm換源最方便的就是使用 nrm 工具了,可以使用 npm install -g nrm 全局安裝,當(dāng)然也可以直接使用 npx nrm 來(lái)使用。 nrm 常用操作主要就下面這些:

  • nrm ls 列出可用源與地址;
  • nrm test 測(cè)試可用源速度;
  • nrm use <registry> 切換源;
  • add <registry> <url> 添加源;
  • del <registry> 刪除源;

在這里插入圖片描述

使用 cnpm 代替 npm

cnpm 可以用來(lái)代替 npm 的大部分工作,但它使用的是淘寶的鏡像源,詳細(xì)可見(jiàn): https://npmmirror.com/

可以使用 npm install -g cnpm --registry=https://registry.npmmirror.com 來(lái)安裝 cnpm 。之后使用的時(shí)候只要把原本需要 npm 的地方換成 cnpm 就行了。

總結(jié)

Node.js開(kāi)發(fā)基本離不開(kāi)npm工具,不過(guò)npm使用也簡(jiǎn)單,遇到主要的問(wèn)題可能就是網(wǎng)絡(luò)問(wèn)題了。

Node.js中包管理工具除了npm和上面的cnpm外常見(jiàn)的還有Yarn,具體信息可以參考其官方鏈接:https://classic.yarnpkg.com/lang/en/

到此這篇關(guān)于Node.js包管理器npm的具體使用的文章就介紹到這了,更多相關(guān)Node.js包管理器npm內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在linux中使用包管理器安裝node.js

    在linux中使用包管理器安裝node.js

    這篇文章主要介紹了在linux中使用包管理器安裝node.js的方法以及具體安裝過(guò)程,非常詳細(xì),推薦給大家,有需要的小伙伴參考下吧。
    2015-03-03
  • NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉(cāng)庫(kù)過(guò)程詳解

    NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉(cāng)庫(kù)過(guò)程詳解

    這篇文章主要為大家介紹了NPM配置私服構(gòu)建內(nèi)網(wǎng)中央倉(cāng)庫(kù)過(guò)程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Nodejs使用dgram模塊創(chuàng)建UDP服務(wù)詳解

    Nodejs使用dgram模塊創(chuàng)建UDP服務(wù)詳解

    這篇文章主要為大家介紹了Nodejs使用dgram模塊創(chuàng)建UDP服務(wù)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • Node.js本地搭建簡(jiǎn)單頁(yè)面小游戲的過(guò)程

    Node.js本地搭建簡(jiǎn)單頁(yè)面小游戲的過(guò)程

    Node.js是能夠在服務(wù)器端運(yùn)行 JavaScript 的開(kāi)放源代碼、跨平臺(tái)運(yùn)行環(huán)境,Node.js 大部分基本模塊都用 JavaScript 語(yǔ)言編寫(xiě),下面將介紹如何簡(jiǎn)單幾步實(shí)現(xiàn)遠(yuǎn)程公共網(wǎng)絡(luò)下訪問(wèn)windwos node.js的服務(wù)端
    2024-01-01
  • Node.js中的package.json與cnpm命令行工具介紹

    Node.js中的package.json與cnpm命令行工具介紹

    這篇文章介紹了Node.js中的package.json與cnpm命令行工具,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 全面了解Node事件循環(huán)

    全面了解Node事件循環(huán)

    這篇文章主要詳細(xì)介紹了Node事件循環(huán),文中的圖片以及文字講解可以幫助大家更好的了解事件循環(huán),感興趣的小伙伴可以看一看,多多參考一下
    2021-08-08
  • Express + Node.js實(shí)現(xiàn)登錄攔截器的實(shí)例代碼

    Express + Node.js實(shí)現(xiàn)登錄攔截器的實(shí)例代碼

    本篇文章主要介紹了Express + Node.js實(shí)現(xiàn)攔截器的實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • nodeJS模塊簡(jiǎn)單用法示例

    nodeJS模塊簡(jiǎn)單用法示例

    這篇文章主要介紹了nodeJS模塊簡(jiǎn)單用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了nodejs模塊定義、引入、注冊(cè)、啟動(dòng)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • 30分鐘用Node.js構(gòu)建一個(gè)API服務(wù)器的步驟詳解

    30分鐘用Node.js構(gòu)建一個(gè)API服務(wù)器的步驟詳解

    這篇文章主要介紹了30分鐘用Node.js構(gòu)建一個(gè)API服務(wù)器的步驟詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • node.js中的fs.rmdir方法使用說(shuō)明

    node.js中的fs.rmdir方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.rmdir方法使用說(shuō)明,本文介紹了fs.rmdir方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12

最新評(píng)論

耿马| 尼勒克县| 崇明县| 常德市| 重庆市| 泗水县| 磐安县| 呼伦贝尔市| 同心县| 临西县| 鹤山市| 泽库县| 海阳市| 乌鲁木齐县| 梓潼县| 阳城县| 永和县| 视频| 合江县| 玛曲县| 泰州市| 满洲里市| 社会| 长岛县| 平原县| 富阳市| 嘉峪关市| 抚州市| 区。| 游戏| 若尔盖县| 扬中市| 阳山县| 卢龙县| 河间市| 宁城县| 游戏| 中江县| 华安县| 疏附县| 永康市|