欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解npm與package.json之間的聯(lián)系

 更新時間:2023年07月26日 09:24:39   作者:一顆冰淇淋  
這篇文章主要為大家介紹了npm與package.json之間的聯(lián)系圖文示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

正文

在nodejs編寫的腳手架項目中,npm是不可缺少的包管理工具,當使用npm初始化時,會生成package.json文件來對項目進行整體的管理和描述

以下是新建的練習項目中package.json文件,初始化項目之后,安裝了axios

配置信息

以上每個配置信息分別對應的含義如下

(1)name * 項目名稱 

(2)version * 當前版本號 

(3)description 是描述信息 

(4)main: 'index.js' 表示項目入口

(5)script 用于配置腳本信息 start/stop/test/restart 時, npm run start中的run可以省略

(6)author 作者 (發(fā)布時用到) 

(7)license 開源協(xié)議 (發(fā)布時用到)  

(8)dependencies 依賴 開發(fā)環(huán)境生產(chǎn)環(huán)境都需要

(9)devDependencies 開發(fā)時依賴的庫, 生產(chǎn)環(huán)境不需要使用

package-lock.json文件

以上項目通過 npm install axios 為項目添加了axios,所以在dependencies下添加了aixos,安裝的時候除了在node_modules會增加對應的依賴外,在package-lock.json會指明axios具體的版本以及axios內(nèi)部的依賴,可以看到package-lock.json文件中,axios版本為0.21.1

但,有一點很奇怪,明明我只安裝了 axios,為什么 package-lock.json 的dependencies 中還有一個 "follow-redirects",我們找到 node_modules 中安裝的包文件,發(fā)現(xiàn)確實有axios和follow-redirects,打開axios的package.json文件,可以看到在axios的生產(chǎn)依賴 dependencies 中添加了 "follow-redirects",所以在安裝 axios 的時候,自動幫我們安裝了它所依賴的包,而 devDependencies 中依賴的包都沒有安裝,這也驗證了一點,devDependencies只會被用于開發(fā)中,生產(chǎn)當中是不會安裝的

執(zhí)行 npm install

當我們拿到一個新項目的時候,通常是沒有node_modules文件夾的,我們需要自行通過 npm install 來安裝所有的依賴,當執(zhí)行 npm install 的時候具體進行了哪些操作呢?

如圖所示,當項目中存在package.json文件執(zhí)行 npm install 的時候,首先會判斷是否存在 package-lock.json 文件,沒有 lock 文件的話,會根據(jù) package.json 文件建立依賴關系,然后去存儲 npm 各種工具的 registry 庫中查找依賴并獲取壓縮包,此時會將壓縮包緩存下來,然后將壓縮包添加到 node_modules中,添加到 node_modules 后會生成 package-lock.json 中記錄下載的版本和依賴關系。

如果存在 package-lock.json 文件,直接判斷packge.json 所需依賴中與lock文件中依賴是否一致,不一致再重新建立依賴關系,一致的時候去緩存中查找緩存文件,沒找到緩存文件就自行去 registry 庫中下載壓縮包。

以上就是詳解npm與package.json之間的聯(lián)系的詳細內(nèi)容,更多關于npm與package.json的聯(lián)系的資料請關注腳本之家其它相關文章!

相關文章

  • NVM切換不同版本node的實現(xiàn)步驟

    NVM切換不同版本node的實現(xiàn)步驟

    nvm是Node.js的版本管理器,可以讓我們輕松地在不同的Node.js版本之間進行切換,本文就來介紹一下NVM切換不同版本node的實現(xiàn)步驟,感興趣的可以了解一下
    2023-12-12
  • Electron架構(gòu)深入探究

    Electron架構(gòu)深入探究

    這篇文章主要為大家介紹了Electron架構(gòu)深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • 詳解基于node.js的腳手架工具開發(fā)經(jīng)歷

    詳解基于node.js的腳手架工具開發(fā)經(jīng)歷

    這篇文章主要介紹了詳解基于node.js的腳手架工具開發(fā)經(jīng)歷,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • node.js中RPC(遠程過程調(diào)用)的實現(xiàn)原理介紹

    node.js中RPC(遠程過程調(diào)用)的實現(xiàn)原理介紹

    這篇文章主要介紹了node.js中RPC(遠程過程調(diào)用)的實現(xiàn)原理介紹,本文基于一個簡單的RPC庫nodejs light_rpc實現(xiàn),需要的朋友可以參考下
    2014-12-12
  • 淺談Node 調(diào)試工具入門教程

    淺談Node 調(diào)試工具入門教程

    這篇文章主要介紹了淺談Node 調(diào)試工具入門教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 拋棄Nginx使用nodejs做反向代理服務器

    拋棄Nginx使用nodejs做反向代理服務器

    每當提起反向代理器,人們通常一想到的就是 Nginx,但是今天我們暫時忽略大名鼎鼎的 Nginx,采用同樣也是使用單線程、事件循環(huán)的服務端小弟——Nodejs 來達成。
    2014-07-07
  • NodeJs使用Mysql模塊實現(xiàn)事務處理實例

    NodeJs使用Mysql模塊實現(xiàn)事務處理實例

    本篇文章主要介紹了NodeJs使用Mysql模塊實現(xiàn)事務處理 ,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 了不起的node.js讀書筆記之node的學習總結(jié)

    了不起的node.js讀書筆記之node的學習總結(jié)

    這篇文章主要介紹了了不起的node.js讀書筆記之node的學習總結(jié),需要的朋友可以參考下
    2014-12-12
  • 利用node.js制作命令行工具方法教程(一)

    利用node.js制作命令行工具方法教程(一)

    這篇文章主要給大家介紹了node.js制作命令行工具方法教程,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-06-06
  • Node.js的基本知識簡單匯總

    Node.js的基本知識簡單匯總

    本文主要給大家簡單介紹了Node.js的基本知識,包括概念、特點、歷史、案例的相關資料,需要的朋友可以參考下
    2016-09-09

最新評論