国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

npm包安裝與管理:深入解析命令行工具的全方位操作指南,涵蓋腳本執(zhí)行與包發(fā)布流程

這篇具有很好參考價(jià)值的文章主要介紹了npm包安裝與管理:深入解析命令行工具的全方位操作指南,涵蓋腳本執(zhí)行與包發(fā)布流程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

npm包安裝與管理:深入解析命令行工具的全方位操作指南,涵蓋腳本執(zhí)行與包發(fā)布流程,JINGWHALE技術(shù)分享,npm,前端,node.js,后端,ios,android,小程序

npm,全稱為Node Package Manager,是專為JavaScript生態(tài)系統(tǒng)設(shè)計(jì)的軟件包管理系統(tǒng),尤其與Node.js平臺(tái)緊密關(guān)聯(lián)。作為Node.js的默認(rèn)包管理工具,npm為開(kāi)發(fā)者提供了便捷的方式來(lái)安裝、共享、分發(fā)和管理代碼模塊。

npm作為JavaScript世界不可或缺的基礎(chǔ)設(shè)施,極大地促進(jìn)了代碼復(fù)用和協(xié)作。

一、npm包安裝與管理

1. 安裝包

  • 命令: npm install <package-name>

  • 作用: 安裝指定的npm包作為項(xiàng)目依賴。

  • 例子:

    $ npm install express
    

    默認(rèn)情況下,這會(huì)將包安裝在node_modules目錄下,并且如果項(xiàng)目中有package.json文件,還會(huì)將該包添加到dependencies字段。

  • 全局安裝:

    $ npm install -g <package-name>
    

    使用 -g--global 參數(shù)進(jìn)行全局安裝,這樣可以在系統(tǒng)全局范圍內(nèi)訪問(wèn)這個(gè)包,而不是僅限于當(dāng)前項(xiàng)目。

2. 保存依賴

  • 命令: 自npm 5.0.0以后,--save--save-dev已經(jīng)成為默認(rèn)行為,無(wú)需顯式指定。
    • npm install <package-name> 相當(dāng)于 npm install <package-name> --save,將包添加到dependencies。
    • npm install <package-name> --save-dev 將包添加到devDependencies,適用于開(kāi)發(fā)階段需要但生產(chǎn)環(huán)境中不需要的工具。

3. 更新依賴

  • 命令: npm update <package-name>
  • 作用: 更新指定包至最新版本(符合package.json中指定的版本范圍)。
  • 例子:
    $ npm update express
    

4. 查看已安裝包

  • 命令: npm list
  • 作用: 列出當(dāng)前項(xiàng)目所有已安裝的依賴及其版本。
  • 例子:
    $ npm list
    
  • npm list --depth=0: 只列出頂級(jí)依賴,不顯示子依賴。

5. 搜索包

  • 命令: npm search <query>
  • 作用: 在npm倉(cāng)庫(kù)中搜索包含給定關(guān)鍵詞的包。
  • 例子:
    $ npm search express
    

6. 清除緩存

  • 命令: npm cache clean --force(舊版)或 npm cache clean --all(新版)
  • 作用: 清除npm的本地緩存。
  • 例子:
    $ npm cache clean --force
    

7. 版本管理

  • 命令: npm version <semver>
  • 作用: 更新項(xiàng)目版本號(hào)(遵循語(yǔ)義化版本控制SemVer規(guī)則,如patch、minor、major)。
  • 例子:
    $ npm version patch
    
  • npm outdated: 顯示項(xiàng)目中過(guò)時(shí)的依賴包。

8. 卸載包:

- `npm uninstall <package-name>`:卸載本地項(xiàng)目的一個(gè)包。
- `npm uninstall -g <package-name>`:卸載全局安裝的包。

9.設(shè)置和查詢配置:

  • npm config set <key> <value>:設(shè)置npm配置項(xiàng)。
  • npm config get <key>:查詢npm配置項(xiàng)的值。
  • npm config ls:列出所有的npm配置。

10.其他:

  • npm audit:檢查項(xiàng)目依賴是否存在已知安全漏洞。
  • npm shrinkwrapnpm lock(在npm 5+中引入package-lock.json):鎖定依賴版本,確保每次安裝都得到一致的結(jié)果。

二、npm鏡像源設(shè)置

在國(guó)內(nèi)使用npm(Node Package Manager)時(shí),由于地理位置和網(wǎng)絡(luò)限制,直接從npm官方源下載包可能會(huì)比較慢。為了提升下載速度和穩(wěn)定性,很多國(guó)內(nèi)的公司和組織提供了npm的鏡像服務(wù)。以下是一些國(guó)內(nèi)常用的優(yōu)秀npm鏡像源推薦及使用方法:

  1. 淘寶NPM鏡像

    • 搜索地址:http://npm.taobao.org/

    • Registry 地址:https://registry.npm.taobao.org/

    • 使用方法:

      • 臨時(shí)使用
        npm --registry=https://registry.npm.taobao.org install <package-name>
        
      • 持久使用
        npm config set registry https://registry.npm.taobao.org
        
    • 騰訊云NPM鏡像
      Registry 地址:https://mirrors.cloud.tencent.com/npm/

    • 華為云NPM鏡像
      Registry 地址:https://mirrors.huaweicloud.com/repository/npm/

    • 阿里云NPM鏡像
      Registry 地址:https://registry.npm.alibaba.com/

  2. cnpmjs鏡像

    • Registry 地址:http://r.cnpmjs.org/
    • 可以通過(guò)cnpm客戶端(一個(gè)基于npm的增強(qiáng)版命令行工具)來(lái)使用它,首先安裝cnpm:
      npm install -g cnpm --registry=https://registry.npm.taobao.org
      
      然后直接使用cnpm替代npm命令。

要檢查當(dāng)前使用的npm鏡像源,可以運(yùn)行以下命令:

npm config get registry

要恢復(fù)到官方源,只需設(shè)置回官方Registry地址:

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

注意:由于互聯(lián)網(wǎng)服務(wù)可能發(fā)生變化,請(qǐng)?jiān)谑褂们霸L問(wèn)各鏡像網(wǎng)站確認(rèn)最新的使用指南和地址。同時(shí),不同鏡像的同步策略和服務(wù)狀態(tài)也可能有所差異,請(qǐng)根據(jù)實(shí)際需求選擇合適的鏡像源。

三、npm腳本運(yùn)行

npm(Node Package Manager)允許用戶在package.json文件中定義自定義腳本,這些腳本可以通過(guò)npm run命令來(lái)執(zhí)行。這一特性使得項(xiàng)目管理和自動(dòng)化任務(wù)變得極為方便,比如構(gòu)建項(xiàng)目、運(yùn)行測(cè)試、啟動(dòng)開(kāi)發(fā)服務(wù)器、部署應(yīng)用等等。
- 命令: npm run <script-name>
- 作用: 根據(jù)package.json中的scripts字段執(zhí)行預(yù)定義的腳本。
- 例子:

示例1:基本腳本命令

// package.json 文件片段
{
  "name": "my-project",
  "version": "1.0.0",
  "scripts": {
    "start": "node app.js", // 啟動(dòng)應(yīng)用程序
    "build": "webpack --mode production", // 使用webpack進(jìn)行生產(chǎn)環(huán)境構(gòu)建
    "test": "jest", // 運(yùn)行Jest測(cè)試套件
    "lint": "eslint .", // 使用ESLint檢查代碼規(guī)范
    "serve": "vue-cli-service serve", // Vue CLI項(xiàng)目啟動(dòng)本地開(kāi)發(fā)服務(wù)器
    "format": "prettier --write '**/*.{js,jsx,json,css,md}'" // 格式化代碼
  },
  // ... 其他字段
}

如何運(yùn)行這些腳本?

對(duì)于上述package.json文件中的每個(gè)腳本,你可以通過(guò)如下命令來(lái)運(yùn)行它們:

  • 啟動(dòng)應(yīng)用程序:
npm run start
  • 其他命令
npm run build //構(gòu)建項(xiàng)目
npm run test //運(yùn)行測(cè)試
npm run lint //檢查代碼規(guī)范
npm run serve //啟動(dòng)本地開(kāi)發(fā)服務(wù)器
npm run format //格式化代碼
  • npm run會(huì)創(chuàng)建一個(gè)新的shell來(lái)執(zhí)行指定的腳本命令,所以你可以像在shell腳本中那樣使用管道(|)、重定向(>>>)、邏輯運(yùn)算符(&&||)等。
  • 可以通過(guò)npm run-script <script-name>的方式來(lái)代替npm run <script-name>,但后者更為常見(jiàn)和簡(jiǎn)潔。
  • 有些腳本名稱具有特殊含義,例如prebuildpostbuild會(huì)在build腳本前后自動(dòng)執(zhí)行。
  • 參數(shù)傳遞:若要向腳本傳遞參數(shù),可以使用--分隔符,例如:npm run my-script -- --arg1 value1 --arg2 value2

示例2:傳遞參數(shù)和環(huán)境變量

在npm腳本中還可以傳遞參數(shù)和使用環(huán)境變量。
若要向腳本傳遞參數(shù),可以使用–分隔符,例如:npm run my-script – --arg1 value1 --arg2 value2。

"scripts": {
  "env-test": "node script.js $npm_config_env_variable",
}

運(yùn)行腳本并傳入環(huán)境變量:

npm run env-test -- --env-variable=value

這里,$npm_config_env_variable將會(huì)被替換為--env-variable=value傳入的值。

示例3:組合多個(gè)命令

如果你需要執(zhí)行一系列命令,可以使用&&符號(hào)連接多個(gè)命令,或者使用npm-run-all等第三方包來(lái)并行或順序執(zhí)行腳本:

"scripts": {
  "deploy": "npm run build && npm run deploy-to-server",
}

在上述示例中,npm run deploy將會(huì)先執(zhí)行build腳本,成功后再執(zhí)行deploy-to-server腳本。

通過(guò)這種方式,npm腳本極大地增強(qiáng)了項(xiàng)目自動(dòng)化能力,使得開(kāi)發(fā)者能夠更好地組織和執(zhí)行項(xiàng)目生命周期中的各個(gè)步驟。

三. npm包制作發(fā)布

創(chuàng)建自己的npm包并成功發(fā)布、維護(hù)至npm官方網(wǎng)站,可以連接全球范圍內(nèi)的開(kāi)發(fā)者、包作者與使用者,共同推動(dòng)著Node.js生態(tài)的繁榮與發(fā)展。

  • 命令: npm publish
  • 作用: 將當(dāng)前目錄下符合npm發(fā)布要求的包發(fā)布到npm倉(cāng)庫(kù)。
  • 前提: 已經(jīng)登錄npm賬戶 (npm login),并且當(dāng)前目錄下有合法的package.jsonREADME.md等文件。

具體請(qǐng)查看《如何開(kāi)發(fā)創(chuàng)建自己的npm包并成功發(fā)布、維護(hù)至npm官方網(wǎng)站

以上命令僅覆蓋了npm部分基礎(chǔ)和常用的功能,實(shí)際使用時(shí)還有許多其他命令可供探索,包括但不限于刪除包、查看包信息、鏈接本地包等。建議查閱npm官方文檔獲取完整信息。

npm包安裝與管理:深入解析命令行工具的全方位操作指南,涵蓋腳本執(zhí)行與包發(fā)布流程,JINGWHALE技術(shù)分享,npm,前端,node.js,后端,ios,android,小程序文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-849249.html

到了這里,關(guān)于npm包安裝與管理:深入解析命令行工具的全方位操作指南,涵蓋腳本執(zhí)行與包發(fā)布流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Go反射終極指南:從基礎(chǔ)到高級(jí)全方位解析

    Go反射終極指南:從基礎(chǔ)到高級(jí)全方位解析

    在本文中,我們將全面深入地探討Go語(yǔ)言的反射機(jī)制。從反射的基礎(chǔ)概念、為什么需要反射,到如何在Go中實(shí)現(xiàn)反射,以及在高級(jí)編程場(chǎng)景如泛型編程和插件架構(gòu)中的應(yīng)用,本文為您提供一站式的學(xué)習(xí)指南。 關(guān)注【TechLeadCloud】,分享互聯(lián)網(wǎng)架構(gòu)、云服務(wù)技術(shù)的全維度知識(shí)。作

    2024年02月08日
    瀏覽(21)
  • 【30天熟悉Go語(yǔ)言】9 Go函數(shù)全方位解析

    【30天熟悉Go語(yǔ)言】9 Go函數(shù)全方位解析

    作者 :禿禿愛(ài)健身,多平臺(tái)博客專家,某大廠后端開(kāi)發(fā),個(gè)人IP起于源碼分析文章 ??。 源碼系列專欄 :Spring MVC源碼系列、Spring Boot源碼系列、SpringCloud源碼系列(含:Ribbon、Feign)、Nacos源碼系列、RocketMQ源碼系列、Spring Cloud Gateway使用到源碼分析系列、分布式事務(wù)Seata使用到

    2024年02月10日
    瀏覽(33)
  • Python教程(24)——全方位解析Python中的裝飾器

    Python裝飾器是一種特殊的函數(shù),它接收一個(gè)函數(shù)作為參數(shù),然后返回一個(gè)新的函數(shù),用于擴(kuò)展或修改原始函數(shù)的行為。裝飾器提供了一種便捷的方式來(lái)在不修改被裝飾函數(shù)源代碼的情況下,增加、修改或包裝函數(shù)的功能。通俗點(diǎn)說(shuō)就是盡量不修改原有功能代碼的情況下,給原

    2024年02月02日
    瀏覽(28)
  • 【全方位解析】如何獲取客戶端/服務(wù)端真實(shí) IP

    【全方位解析】如何獲取客戶端/服務(wù)端真實(shí) IP

    1.比如在投票系統(tǒng)開(kāi)發(fā)中,為了防止刷票,我們需要限制每個(gè) IP 地址只能投票一次 2.當(dāng)網(wǎng)站受到諸如 DDoS(Distributed Denial of Service,分布式拒絕服務(wù)攻擊)等攻擊時(shí),我們需要快速定位攻擊者 IP 3.在滲透測(cè)試過(guò)程中,經(jīng)常會(huì)碰到網(wǎng)站有 CDN(Content Distribution Network,內(nèi)容交付網(wǎng)絡(luò)

    2024年02月07日
    瀏覽(38)
  • Go泛型解密:從基礎(chǔ)到實(shí)戰(zhàn)的全方位解析

    Go泛型解密:從基礎(chǔ)到實(shí)戰(zhàn)的全方位解析

    本篇文章深入探討了Go語(yǔ)言的泛型特性,從其基礎(chǔ)概念到高級(jí)用法,并通過(guò)實(shí)戰(zhàn)示例展示了其在實(shí)際項(xiàng)目中的應(yīng)用。 關(guān)注【TechLeadCloud】,分享互聯(lián)網(wǎng)架構(gòu)、云服務(wù)技術(shù)的全維度知識(shí)。作者擁有10+年互聯(lián)網(wǎng)服務(wù)架構(gòu)、AI產(chǎn)品研發(fā)經(jīng)驗(yàn)、團(tuán)隊(duì)管理經(jīng)驗(yàn),同濟(jì)本復(fù)旦碩,復(fù)旦機(jī)器人

    2024年02月08日
    瀏覽(21)
  • 深入淺出 C 語(yǔ)言:學(xué)變量、掌控流程、玩指針,全方位掌握 C 編程技能

    C 語(yǔ)言介紹 C 語(yǔ)言的特性 C 語(yǔ)言相對(duì)于其他語(yǔ)言的優(yōu)勢(shì) C 程序的編譯 C 中的 Hello World 程序 參考文章: C 語(yǔ)言入門(mén):如何編寫(xiě) Hello World C 語(yǔ)言函數(shù):入門(mén)指南 C 中的變量和 C 語(yǔ)言中的作用域規(guī)則 C 中的數(shù)據(jù)類型 運(yùn)算符及其類型 C 語(yǔ)言中的類型轉(zhuǎn)換 參考文章: C 語(yǔ)言注釋

    2024年02月02日
    瀏覽(24)
  • 深度解析知網(wǎng)AIGC檢測(cè):從理論到實(shí)踐,全方位探索前沿技術(shù)

    深度解析知網(wǎng)AIGC檢測(cè):從理論到實(shí)踐,全方位探索前沿技術(shù)

    大家好,小發(fā)貓降ai今天來(lái)聊聊深度解析知網(wǎng)AIGC檢測(cè):從理論到實(shí)踐,全方位探索前沿技術(shù),希望能給大家提供一點(diǎn)參考。降ai輔寫(xiě) 以下是針對(duì)論文AI輔寫(xiě)率高的情況,提供一些修改建議和技巧,可以借助此類工具: 還有: 標(biāo)題: \\\"深度解析知網(wǎng)AIGC檢測(cè):從理論到實(shí)踐,全方

    2024年03月16日
    瀏覽(27)
  • 一文章讓你徹底了解OpenAI:CSDN獨(dú)家全方位解析

    目錄 什么是OpenAI OpenAI的發(fā)展歷程 相關(guān)名詞解釋 API? GPT? GPT-2? GPT-3?

    2024年02月09日
    瀏覽(30)
  • C++環(huán)形緩沖區(qū)設(shè)計(jì)與實(shí)現(xiàn):從原理到應(yīng)用的全方位解析

    C++環(huán)形緩沖區(qū)設(shè)計(jì)與實(shí)現(xiàn):從原理到應(yīng)用的全方位解析

    環(huán)形緩沖區(qū)(Circular Buffer),也被稱為循環(huán)緩沖區(qū)(Cyclic Buffer)或者環(huán)形隊(duì)列(Ring Buffer),是一種數(shù)據(jù)結(jié)構(gòu)類型,它在內(nèi)存中形成一個(gè)環(huán)形的存儲(chǔ)空間。環(huán)形緩沖區(qū)的特點(diǎn)是其終點(diǎn)和起點(diǎn)是相連的,形成一個(gè)環(huán)狀結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)在處理流數(shù)據(jù)和實(shí)現(xiàn)數(shù)據(jù)緩存等場(chǎng)景中具

    2024年02月07日
    瀏覽(32)
  • “探索C語(yǔ)言操作符的神秘世界:從入門(mén)到精通的全方位解析“

    “探索C語(yǔ)言操作符的神秘世界:從入門(mén)到精通的全方位解析“

    各位少年,我是博主 那一臉陽(yáng)光 ,今天來(lái)分享深度解析C語(yǔ)言操作符,C語(yǔ)言操作符能幫我們解決很多邏輯性的問(wèn)題,減少很多代碼量,就好比數(shù)學(xué)的各種符號(hào),我們現(xiàn)在深度解剖一下他們。 在追求愛(ài)情的道路上,擁有吸引人的外表與內(nèi)在氣質(zhì)固然重要,它們?nèi)缤残浅剑?/p>

    2024年01月25日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包