nodejs 編程基礎01-NPM包管理

1:npm 包管理介紹

npm 是nodejs 的包管理工具,類似于java 的maven 和 gradle 等,用來解決nodejs 的依賴包問題
使用場景:1. 從NPM 服務騎上下載或拉去別人編寫好的第三方包到本地進行使用2. 將自己編寫代碼或軟件包發布到npm 服務器供他人使用

更換NPM鏡像源

設置淘寶的鏡像源
npm config set registry  https://registry.npm.taobao.org   //這個可能已經失效
可以使用:
npm config set registry https://registry.npmmirror.com
還原官方鏡像源
npm config delete registry

初始化項目

在項目目錄下 執行
npm init 
使用npm install koa 安裝 koa 框架 執行完畢之后會當前目錄下產生一個模塊,在自動生成的node_modeles 文件夾中
在模塊中使用koa 需要在代碼中寫如下的代碼:
const koa = require('koa');C:\Users\Administrator\Desktop\xmall>npm install koa
npm error code CERT_HAS_EXPIRED
npm error errno CERT_HAS_EXPIRED
npm error request to https://registry.npm.taobao.org/koa failed, reason: certificate has expired解決辦法臨時忽略ssl證書驗證:作為臨時解決方案,你可以通過設置npm配置來忽略SSL證書驗證。請注意,這種方法會降低安全性,不推薦作為長期解決方案。npm config set strict-ssl false安裝完所需的包后,最好將此設置還原,以保持更高的安全性npm config set strict-ssl true![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/13cd322f5b5d4834ace122b5fb361091.png)

執行完成之后查看擋墻目錄
在這里插入圖片描述
在這里插入圖片描述

本地安裝與全局安裝

npm 安裝包分本地安裝和全局安裝
默認為本地安裝
如果需要全局安裝 這需要添加 -g 參數
npm install express-generator -g   //生成express 為服務框架的nodejs 后端項目結構
![在這里插入圖片描述](https://i-blog.csdnimg.cn/direct/f57ac79acdb64a8aa571274f2d1f0395.png)

安裝express腳手架出現如下錯誤:npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer …

  1. 在電腦Windows搜索欄搜索Windows PowerShell,并且以管理員身份運行;
    在這里插入圖片描述
  2. 執行命令
PS C:\Users\Administrator> set-ExecutionPolicy RemoteSigned
PS C:\Users\Administrator> get-ExecutionPolicy
RemoteSigned
PS C:\Users\Administrator> npm install -g cnpm --registry=https://registry.npm.taobao.org
changed 66 packages in 14s
changed 66 packages in 13s
PS C:\Users\Administrator> cnpm install express-generator -g
Downloading express-generator to D:\Programs\nodejs\node_modules\express-generator_tmp
Copying D:\Programs\nodejs\node_modules\express-generator_tmp\.store\express-generator@4.16.1\node_modules\express-generator to D:\Programs\nodejs\node_modules\express-generator
Installing express-generator's dependencies to D:\Programs\nodejs\node_modules\express-generator/node_modules
[1/5] commander@2.15.1 installed at node_modules\.store\commander@2.15.1\node_modules\commander
[2/5] sorted-object@2.0.1 installed at node_modules\.store\sorted-object@2.0.1\node_modules\sorted-object
[3/5] ejs@2.6.1 installed at node_modules\.store\ejs@2.6.1\node_modules\ejs
[4/5] mkdirp@0.5.1 installed at node_modules\.store\mkdirp@0.5.1\node_modules\mkdirp
[5/5] minimatch@3.0.4 installed at node_modules\.store\minimatch@3.0.4\node_modules\minimatch
deprecate mkdirp@0.5.1 Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
All packages installed (9 packages installed from npm registry, used 569ms(network 566ms), speed 373.4KB/s, json 9(126.63KB), tarball 84.72KB, manifests cache hit 0, etag hit 0 / miss 0)
[express-generator@4.16.1] link D:\Programs\nodejs\express@ -> D:\Programs\nodejs\node_modules\express-generator\bin\express-cli.js
創建xmall 項目
PS C:\Users\Administrator> express xmallwarning: the default view engine will not be jade in future releaseswarning: use `--view=jade' or `--help' for additional optionscreate : xmall\create : xmall\public\create : xmall\public\javascripts\create : xmall\public\images\create : xmall\public\stylesheets\create : xmall\public\stylesheets\style.csscreate : xmall\routes\create : xmall\routes\index.jscreate : xmall\routes\users.jscreate : xmall\views\create : xmall\views\error.jadecreate : xmall\views\index.jadecreate : xmall\views\layout.jadecreate : xmall\app.jscreate : xmall\package.jsoncreate : xmall\bin\create : xmall\bin\wwwchange directory:> cd xmallinstall dependencies:> npm installrun the app:> SET DEBUG=xmall:* & npm start  

根據上面的提示:切換到xmall 目錄下
PS C:\Users\Administrator> cd .\xmall
PS C:\Users\Administrator\xmall> npm install
PS C:\Users\Administrator\xmall> SET DEBUG=xmall:* & npm start 這個命令要分開執行否則會出現如下的錯誤
SET DEBUG=xmall:*
npm start
在這里插入圖片描述
當 npm start 執行完成 出現如下的內容 表示后端基于 express的腳手架搭建項目完成
在這里插入圖片描述
在瀏覽器地址欄目頁面中輸入:http://127.0.0.1:3000 會出現如下的顯示,表示齊納后端可以正常訪問
在這里插入圖片描述

生產依賴和開發依賴

使用 --save-dev 表示開發依賴
使用 --save 表示生產依賴
都會被保存到 package.json 的 dependencies 中

其他npm 命令

  1. npm uninstall <模塊名> [-g] 卸載本地/全局模塊
  2. npm list [-g] 查看已經安裝的本地或者全局模塊
  3. npm update <模塊名> [-g] 更新本地/全局模塊
  4. npm search <模塊名> 搜索模塊
  5. npm publish 發布模塊到npm倉庫
  6. npm unpublish <模塊名>@版本號 撤銷發布模塊到npm倉庫
  7. npm config get 讀取配置
  8. npm config set 設置配置
  9. npm config delete 設置配置
    10 .npm run <命令> 執行package 中 scripts 定義的命令

yarn 包管理器介紹

PS C:\Users\Administrator\xmall> cnpm install yarn -g
Downloading yarn to D:\Programs\nodejs\node_modules\yarn_tmp
Copying D:\Programs\nodejs\node_modules\yarn_tmp.store\yarn@1.22.22\node_modules\yarn to D:\Programs\nodejs\node_modules\yarn
Installing yarn’s dependencies to D:\Programs\nodejs\node_modules\yarn/node_modules
Run 1 script(s) in 101ms.
All packages installed (used 105ms(network 2ms), speed 0B/s, json 0(0B), tarball 0B, manifests cache hit 0, etag hit 0 / miss 0)
[yarn@1.22.22] link D:\Programs\nodejs\yarn@ -> D:\Programs\nodejs\node_modules\yarn\bin\yarn.js
[yarn@1.22.22] link D:\Programs\nodejs\yarnpkg@ -> D:\Programs\nodejs\node_modules\yarn\bin\yarn.js

yarn的常用命令

  1. yarn [global] remove <模塊名> 卸載本地或全集模塊
  2. yarn [global] upgrade <模塊名> 更新本地或全集模塊
  3. yarn [global] upgrade <模塊名> 安裝本地或全集模塊
  4. yarn config get 讀取配置
  5. yarn config set 設置配置
  6. yarn config delete 刪除配置
  7. yarn run <命令> 執行package 中 scripts 定義的命令

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

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

相關文章

基于Mediapipe_Unity_Plugin實現手勢識別

GitHub - homuler/MediaPipeUnityPlugin: Unity plugin to run MediaPipehttps://github.com/homuler/MediaPipeUnityPlugin 實現了以下&#xff1a; public enum HandGesture { None, Stop, ThumbsUp, Victory, OK, OpenHand } 核心腳本&#xff1a…

Android 項目構建編譯概述

主要內容是Android AOSP源碼的管理方式&#xff0c;項目源碼的構建和編譯&#xff0c;用到比如git、repo、gerrit一些命令工具&#xff0c;以及使用Soong編譯系統&#xff0c;編寫Android.bp文件的格式樣式。 1. Android操作系統堆棧概述 Android 是一個針對多種不同設備類型打…

Python爬蟲08_Requests聚焦批量爬取圖片

一、Requests聚焦批量爬取圖片 import re import requests import os import timeurl https://www.douban.com/ userAgent {User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:122.0) Gecko/20100101 Firefox/122.0}#獲取整個瀏覽頁面 page_text requests.get(urlur…

Spring Cloud系列—簡介

目錄 1 單體架構 2 集群與分布式 3 微服務架構 4 Spring Cloud 5 Spring Cloud環境和工程搭建 5.1 服務拆分 5.2 示例 5.2.1 數據庫配置 5.2.2 父子項目創建 5.2.3 order_service子項目結構配置 5.2.4 product_service子項目結構配置 5.2.5 服務之間的遠程調用 5.…

【普中STM32精靈開發攻略】--第 1 章 如何使用本攻略

學習本開發攻略主要參考的文檔有《STM32F1xx 中文參考手冊》和《Cortex M3權威指南(中文)》&#xff0c;這兩本都是 ST 官方手冊&#xff0c;尤其是《STM32F1xx 中文參考手冊》&#xff0c;里面包含了 STM32F1 內部所有外設介紹&#xff0c;非常詳細。大家在學習 STM32F103的時…

【Docker】RK3576-Debian上使用Docker安裝Ubuntu22.04+ROS2

1、簡述 RK3576自帶Debian12系統,如果要使用ROS2,可以在Debian上直接安裝ROS2,缺點是有的ROS包需要源碼編譯;當然最好是使用Ubuntu系統,可以使用Docker安裝,或者構建Ubuntu系統,替換Debian系統。 推薦使用Docker來安裝Ubuntu22.04,這里會有個疑問,是否可以直接使用Do…

解決docker load加載tar鏡像報json no such file or directory的錯誤

在使用docker加載離線鏡像文件時&#xff0c;出現了json no such file or directory的錯誤&#xff0c;剛開始以為是壓縮包拷貝壞了&#xff0c;重新拷貝了以后還是出現了問題。經過網上查找方案&#xff0c;并且自己實踐&#xff0c;采用下面的簡單方法就可以搞定。 歸結為一句…

《協作畫布的深層架構:React與TypeScript構建多人實時繪圖應用的核心邏輯》

多人在線協作繪圖應用的構建不僅是技術棧的簡單組合,更是對實時性、一致性與用戶體驗的多維挑戰。基于React與TypeScript開發這類應用,需要在圖形繪制的基礎功能之外,解決多用戶并發操作的同步難題、狀態回溯的邏輯沖突以及大規模協作的性能瓶頸。每一層架構的設計,都需兼顧…

智慧社區(八)——社區人臉識別出入管理系統設計與實現

在社區安全管理日益智能化的背景下&#xff0c;傳統的人工登記方式已難以滿足高效、精準的管理需求。本文將詳細介紹一套基于人臉識別技術的社區出入管理系統&#xff0c;該系統通過整合騰訊云 AI 接口、數據庫設計與業務邏輯&#xff0c;實現了居民出入自動識別、記錄追蹤與訪…

嵌入式開發學習———Linux環境下IO進程線程學習(四)

進程相關函數fork創建一個子進程&#xff0c;子進程復制父進程的地址空間。父進程返回子進程PID&#xff0c;子進程返回0。pid_t pid fork(); if (pid 0) { /* 子進程代碼 */ } else { /* 父進程代碼 */ }getpid獲取當前進程的PID。pid_t pid getpid();getppid獲取父進程的P…

標記-清除算法中的可達性判定與Chrome DevTools內存分析實踐

引言 在現代前端開發中&#xff0c;內存管理是保證應用性能與用戶體驗的核心技術之一。作為JavaScript運行時的基礎機制&#xff0c;標記-清除算法(Mark-and-Sweep) 通過可達性判定決定哪些內存需要回收&#xff0c;而Chrome DevTools提供的Memory工具則為開發者提供了深度的內…

微算法科技(NASDAQ:MLGO)基于量子重加密技術構建區塊鏈數據共享解決方案

隨著信息技術的飛速發展&#xff0c;數據已成為數字經濟時代的核心生產要素。數據的共享和安全往往是一對難以調和的矛盾。傳統的加密方法在面對日益強大的計算能力和復雜的網絡攻擊時&#xff0c;安全性受到了挑戰。微算法科技(NASDAQ&#xff1a;MLGO)通過引入量子重加密技術…

FastAPI快速入門P2:與SpringBoot比較

歡迎來到啾啾的博客&#x1f431;。 記錄學習點滴。分享工作思考和實用技巧&#xff0c;偶爾也分享一些雜談&#x1f4ac;。 有很多很多不足的地方&#xff0c;歡迎評論交流&#xff0c;感謝您的閱讀和評論&#x1f604;。 目錄引言1 FastAPI事件管理2 類的使用2.1 初始化方法對…

SAP-ABAP: Open SQL集合函數COUNT(統計行數)、SUM(數值求和)、AVG(平均值)、MAX/MIN(極值)深度指南

SAP Open SQL集合函數深度指南 1. 核心價值與特性函數作用關鍵特性COUNT統計行數用COUNT(*)包含NULL值行&#xff0c;COUNT(字段)排除NULLSUM數值求和自動過濾NULL值&#xff0c;結果類型與源字段相同AVG平均值必須用TYPE f接收&#xff0c;否則四舍五入導致精度丟失MAX/MIN極值…

【docker】UnionFS聯合操作系統

Linux 的 Namespace、CGroups 和 UnionFS 三大技術支撐了 Docker 的實現。 一、為什么需要聯合文件系統&#xff1f;在傳統操作系統中&#xff0c;每個文件系統都是獨立的孤島。但當我們需要&#xff1a;合并多個目錄的內容保持基礎系統不變的同時進行修改高效共享重復文件內容…

CTF-XXE 漏洞解題思路總結

一、XXE 漏洞簡介XXE (XML External Entity) 漏洞允許攻擊者通過構造惡意的 XML 輸入&#xff0c;強迫服務器的 XML 解析器執行非預期的操作。在 CTF 場景中&#xff0c;最常見的利用方式是讓解析器讀取服務器上的敏感文件&#xff0c;并將其內容返回給攻擊者。二、核心攻擊載荷…

GitLab:一站式 DevOps 平臺的全方位解析

GitLab&#xff1a;一站式 DevOps 平臺的全方位解析 在當今數字化時代&#xff0c;軟件研發的效率與質量直接決定企業的市場競爭力。GitLab 作為全球領先的 DevOps 平臺&#xff0c;憑借 “從構思到部署” 的全流程管理能力&#xff0c;已成為無數企業加速軟件交付的核心工具。…

Flink富函數:一種更靈活、可擴展的方式來定義數據流的處理邏輯

本文重點 Flink中的富函數類是一組用于處理數據流的函數接口和實現類。富函數類提供了一種更靈活和可擴展的方式來定義數據流的處理邏輯。 富函數類 富函數類是DataStream API提供的一個函數類的接口,所有的Flink函數類都有其Rich版本。富函數類一般是以抽象類的形式出現的。…

【STM32】HAL庫中的實現(四):RTC (實時時鐘)

&#x1f552;HAL庫中的實現&#xff1a;RTC&#xff08;Real-Time Clock&#xff09;實時時鐘RTC 是 STM32 的低功耗實時時鐘模塊&#xff0c;常用于&#xff1a; 實時時間維護&#xff08;年月日時分秒&#xff09;定時喚醒日志時間戳鬧鐘功能RTC&#xff08;實時時鐘&#x…

Pauli 矩陣指數函數展開為顯式矩陣 e^A -> B

要展開表達式 為普通矩陣&#xff0c;其中 是 Pauli 矩陣&#xff0c; 是單位向量&#xff0c; 是實數。以下是詳細推導步驟&#xff1a;1. Pauli 矩陣的性質Pauli 矩陣定義為&#xff1a;它們滿足以下關系&#xff1a;?其中 是 Kronecker delta&#xff0c;? 是 Levi-…