国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

你應(yīng)該知道的幾類npm依賴包管理詳解

2024-05-06 15:25:56
字體:
供稿:網(wǎng)友

前言

大家都知道在一個(gè)Node.js項(xiàng)目中,package.json幾乎是一個(gè)必須的文件,它的主要作用就是管理項(xiàng)目中所使用到的外部依賴包,同時(shí)它也是npm命令的入口文件。下面話不多說了,來一起看看詳細(xì)的介紹把。

npm 目前支持以下幾類依賴包管理:

dependencies devDependencies peerDependencies optionalDependencies bundledDependencies / bundleDependencies

如果你想使用哪種依賴管理,那么你可以將它放在package.json中對(duì)應(yīng)的依賴對(duì)象中,比如:

 "devDependencies": { "fw2": "^0.3.2", "grunt": "^1.0.1", "webpack": "^3.6.0" }, "dependencies": { "gulp": "^3.9.1", "hello-else": "^1.0.0" }, "peerDependencies": { }, "optionalDependencies": { }, "bundledDependencies": [] 

下面我們一一來看:

dependencies

應(yīng)用依賴,或者叫做業(yè)務(wù)依賴,這是我們最常用的依賴包管理對(duì)象!它用于指定應(yīng)用依賴的外部包,這些依賴是應(yīng)用發(fā)布后正常執(zhí)行時(shí)所需要的,但不包含測試時(shí)或者本地打包時(shí)所使用的包。可使用下面的命令來安裝:

npm install packageName --save

dependencies是一個(gè)簡單的JSON對(duì)象,包含包名與包版本,其中包版本可以是版本號(hào)或者URL地址。比如:

{  "dependencies" :{  "foo" : "1.0.0 - 2.9999.9999", // 指定版本范圍 "bar" : ">=1.0.2 <2.1.2",  "baz" : ">1.0.2 <=2.3.4",  "boo" : "2.0.1", // 指定版本 "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",  "asd" : "http://asdf.com/asdf.tar.gz", // 指定包地址 "til" : "~1.2", // 最近可用版本 "elf" : "~1.2.3",  "elf" : "^1.2.3", // 兼容版本 "two" : "2.x", // 2.1、2.2、...、2.9皆可用 "thr" : "*", // 任意版本 "thr2": "", // 任意版本 "lat" : "latest", // 當(dāng)前最新 "dyl" : "file:../dyl", // 本地地址 "xyz" : "git+ssh://git@github.com:npm/npm.git#v1.0.27", // git 地址 "fir" : "git+ssh://git@github.com:npm/npm#semver:^5.0", "wdy" : "git+https://isaacs@github.com/npm/npm.git", "xxy" : "git://github.com/npm/npm.git#v1.0.27", }}

devDependencies

開發(fā)環(huán)境依賴,僅次于dependencies的使用頻率!它的對(duì)象定義和dependencies一樣,只不過它里面的包只用于開發(fā)環(huán)境,不用于生產(chǎn)環(huán)境,這些包通常是單元測試或者打包工具等,例如gulp, grunt, webpack, moca, coffee等,可使用以下命令來安裝:

npm install packageName --save-dev

舉個(gè)栗子:

{ "name": "ethopia-waza", "description": "a delightfully fruity coffee varietal", "version": "1.2.3", "devDependencies": { "coffee-script": "~1.6.3" }, "scripts": { "prepare": "coffee -o lib/ -c src/waza.coffee" }, "main": "lib/waza.js"}

prepare腳本會(huì)在發(fā)布前運(yùn)行,因此使用者在編譯項(xiàng)目時(shí)不用依賴它。在開發(fā)模式下,運(yùn)行npm install, 同時(shí)也會(huì)執(zhí)行prepare腳本,開發(fā)時(shí)可以很容易的測試。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 新闻| 平果县| 长阳| 石楼县| 大竹县| 昔阳县| 汉中市| 内丘县| 新河县| 金沙县| 大宁县| 永仁县| 莒南县| 涞源县| 临夏市| 来宾市| 杨浦区| 香格里拉县| 从江县| 浦东新区| 苍溪县| 兰溪市| 蕉岭县| 阿克陶县| 武义县| 平湖市| 绥江县| 搜索| 阿拉善右旗| 灵台县| 潼关县| 泾川县| 临高县| 铜鼓县| 建平县| 固原市| 肥东县| 吴堡县| 贵德县| 饶河县| 遂平县|