webpack的安裝及其后序部分

npm install原理

這個其實就是npm從registry下載項目到本地,沒有什么好說的

值得一提的是npm的緩存機制,如果多個項目都需要同一個版本的axios,每一次重新從registry中拉取的成本過大,所以會有緩存,如果緩存里有這個包那直接從緩存中直接拉取解壓了

怎么確定找到的就是自己需要的那個包呢?是有對應的標識符的,這個標識符就在package-lock.json里面

版本的具體也可以在package-lock.json中找(具體安裝的版本)

package-lock.json文件解析

name:項目的名稱?

version:項目的版本

lockfileVersion:lock文件的版本

requires:使用requires來跟蹤模塊的依賴關系

dependencies:項目的依賴

????????當前項目依賴axios,但是axios依賴follow-redireacts

? ? ? ? axios中的屬性:

? ? ? ? ? ? ? ? version表示實際安裝的axios版本

? ? ? ? ? ? ? ? resolved用來記錄下載的地址,registry倉庫中的位置

? ? ? ? ? ? ? ? requires/dependencies記錄當前模塊的依賴

? ? ? ? ? ? ? ? integrity用來從緩存中獲取索引,在通過索引去獲取壓縮包文件

npm install原理深入

從npm5開始,npm就支持緩存策略了(來自yarn的壓力),那么緩存有什么作用呢?

介素一副原理圖:

npm其他命令

介紹一下npm其他的幾個常用的命令

卸載某個依賴包:

npm uninstall package
npm uninstall package --save-dev
npm uninstall package -D

強制重新build:

npm rebuild

清除緩存:

npm cache clean

npm的命令很多捏:

https://docs.npmjs.com/cli-documentation/cli

可以查看文檔查命令

yarn工具

yarn工具和npm差不多,所做的事情也差不多

即生npm,何生yarn

yarn其實是為了彌補早期npm的一些缺陷(安裝依賴速度慢,版本依賴混亂)而出現的

從npm5版本開始,進行了很多的升級和改進,很多人依然喜歡用yarn

命令和使用都差不多

想要添加包的話是

yarn add

cnpm

每一種工具都有自己的適用場景

cnpm是中國適用

由于一些特殊原因,某些情況下沒辦法很好的從https://registry.npmjs.org下載下來一些需要的包

所以一些東西就會被存到鏡像服務器倉庫里

可以這樣查看npm的鏡像:

npm config get registry

也可以直接設置npm的鏡像:

npm config set registry https://registry.npm.taobao.org

但是有的人就不希望再將npm的鏡像修改了,一方面不希望隨意修改npm原本從官方下來包的渠道,另一方面如果鏡像掛了或者停止維護就又要改來改去了。。

這個時候就可以用cnpm并將它設置成淘寶的鏡像

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm config get registry #https://r.npm.taobao.org

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82305.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82305.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82305.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

百度golang研發一面面經

輸入一個網址,到顯示界面,中間的過程是怎樣的 IP 報文段的結構是什么 Innodb 的底層結構 知道幾種設計模式 工廠模式 簡單工廠模式:根據傳入類型參數判斷創建哪種類型對象工廠方法模式:由子類決定實例化哪個類抽象工廠模式&#…

使用 HTML + JavaScript 實現圖片裁剪上傳功能

本文將詳細介紹一個基于 HTML 和 JavaScript 實現的圖片裁剪上傳功能。該功能支持文件選擇、拖放上傳、圖片預覽、區域選擇、裁剪操作以及圖片下載等功能,適用于需要進行圖片處理的 Web 應用場景。 效果演示 項目概述 本項目主要包含以下核心功能: 文…

GO+RabbitMQ+Gin+Gorm+docker 部署 demo

更多個人筆記見: (注意點擊“繼續”,而不是“發現新項目”) github個人筆記倉庫 https://github.com/ZHLOVEYY/IT_note gitee 個人筆記倉庫 https://gitee.com/harryhack/it_note 個人學習,學習過程中還會不斷補充&…

【安全】VulnHub靶場 - W1R3S

【安全】VulnHub靶場 - W1R3S 備注一、故事背景二、Web滲透1.主機發現端口掃描2.ftp服務3.web服務 三、權限提升 備注 2025/05/22 星期四 簡單的打靶記錄 一、故事背景 您受雇對 W1R3S.inc 個人服務器進行滲透測試并報告所有發現。 他們要求您獲得 root 訪問權限并找到flag&…

WEB安全--SQL注入--MSSQL注入

一、SQLsever知識點了解 1.1、系統變量 版本號:version 用戶名:USER、SYSTEM_USER 庫名:DB_NAME() SELECT name FROM master..sysdatabases 表名:SELECT name FROM sysobjects WHERE xtypeU 字段名:SELECT name …

工作流引擎-18-開源審批流項目之 plumdo-work 工作流,表單,報表結合的多模塊系統

工作流引擎系列 工作流引擎-00-流程引擎概覽 工作流引擎-01-Activiti 是領先的輕量級、以 Java 為中心的開源 BPMN 引擎,支持現實世界的流程自動化需求 工作流引擎-02-BPM OA ERP 區別和聯系 工作流引擎-03-聊一聊流程引擎 工作流引擎-04-流程引擎 activiti 優…

Docker 筆記 -- 借助AI工具強勢輔助

常用命令 鏡像管理命令: docker images(列出鏡像) docker pull(拉取鏡像) docker build(構建鏡像) docker save/load(保存/加載鏡像) 容器操作命令 docker run&#…

5G-A時代與p2p

5G-A時代正在走來,那么對P2P的影響有多大。 5G-A作為5G向6G過渡的關鍵技術,將數據下載速率從千兆提升至萬兆,上行速率從百兆提升至千兆,時延降至毫秒級。這種網絡性能的跨越式提升,為P2P提供了更強大的底層支撐&#x…

Redis-6.2.9 主從復制配置和詳解

1 主從架構圖 192.168.254.120 u24-redis-120 #主庫 192.168.254.121 u24-redis-121 #從庫 2 redis軟件版本 rootu24-redis-121:~# redis-server --version Redis server v6.2.9 sha00000000:0 malloclibc bits64 build56edd385f7ce4c9b 3 主庫redis配置文件(192.168.254.1…

004 flutter基礎 初始文件講解(3)

之前,我們正向的學習了一些flutter的基礎,如MaterialApp,Scaffold之類的東西,那么接下來,我們將正式接觸原代碼: import package:flutter/material.dart;void main() {runApp(const MyApp()); }class MyAp…

Linux 系統 Docker Compose 安裝

個人博客地址:Linux 系統 Docker Compose 安裝 | 一張假鈔的真實世界 本文方法是直接下載 GitHub 項目的 release 版本。項目地址:GitHub - docker/compose: Define and run multi-container applications with Docker。 執行以下命令將發布程序加載至…

Tree 樹形組件封裝

整體思路 數據結構設計 使用遞歸的數據結構(TreeNode)表示樹形數據每個節點包含id、name、可選的children數組和selected狀態 狀態管理 使用useState在組件內部維護樹狀態的副本通過deepCopyTreeData函數進行深拷貝,避免直接修改原始數據 核…

tortoisegit 使用rebase修改歷史提交

在 TortoiseGit 中使用 rebase 修改歷史提交(如修改提交信息、合并提交或刪除提交)的步驟如下: --- ### **一、修改最近一次提交** 1. **操作**: - 右鍵項目 → **TortoiseGit** → **提交(C)** - 勾選 **"Amend…

中科院報道鐵電液晶:從實驗室突破到多場景應用展望

2020年的時候,相信很多關注科技前沿的朋友都注意到,中國科學院一篇報道聚焦一項有望改寫顯示產業格局的新技術 —— 鐵電液晶(FeLC)。這項被業內稱為 "下一代顯示核心材料" 的研究,究竟取得了哪些實質性進展…

論文閱讀(六)Open Set Video HOI detection from Action-centric Chain-of-Look Prompting

論文來源:ICCV(2023) 項目地址:https://github.com/southnx/ACoLP 1.研究背景與問題 開放集場景下的泛化性:傳統 HOI 檢測假設訓練集包含所有測試類別,但現實中存在大量未見過的 HOI 類別(如…

74道Node.js高頻題整理(附答案背誦版)

簡述 Node. js 基礎概念 ? Node.js是一個基于Chrome V8引擎的JavaScript運行環境。它使得JavaScript可以在服務器端運行,從而進行網絡編程,如構建Web服務器、處理網絡請求等。Node.js采用事件驅動、非阻塞I/O模型,使其輕量且高效…

年齡是多少

有5個人坐在一起,問第五個人多少歲?他說比第四個人大兩歲。問第四個人歲數,他說比第三個人大兩歲。問第三個人,又說比第二個人大兩歲。問第二個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問他們…

華為OD機試真題——模擬消息隊列(2025A卷:100分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 A卷 100分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C++、C語言、GO六種語言的最佳實現方式! 2025華為OD真題目錄+全流程解析/備考攻略/經驗分享 華為OD機試真題《模擬消息隊列》: 目錄 題…

LangChain-結合GLM+SQL+函數調用實現數據庫查詢(三)

針對 LangChain-結合GLM+SQL+函數調用實現數據庫查詢(二)-CSDN博客 進一步簡化 通過 LangChain 和大語言模型(GLM-4)實現了一個 AI 代理,能夠根據自然語言提問自動生成 SQL 查詢語句,并連接 MySQL 數據庫執行查詢,最終返回結果。 整個流程如下: 用戶提問 → AI 生成 SQ…

ZLG ZCANPro,ECU刷新,bug分享

文章目錄 摘要 ??問題的起因bug分享 ?思考&反思 ??摘要 ?? ZCANPro想必大家都不陌生,買ZLG的CAN卡,必須要用的上位機軟件。在汽車行業中,有ECU軟件升級的需求,通常都通過UDS協議實現程序的更新,滿足UDS升級的上位機要么自己開發,要么用CANoe或者VFlash,最近…