package.json 了解了解

本來在看webpack配置的時候蜒车,發(fā)現(xiàn)里面有一些package.json的東西不太眼熟,就順道去隔壁nodejs了解了下package.json饲帅。

這里主要介紹了一些npm操作包瘦赫,以及package.json的屬性、作用的介紹耐薯。

本著以自己的理解,參考網(wǎng)上大佬的資料和說明丝里。了解了解


npm 是一個包管理器曲初。

npm的安裝與更新

npm 是依附與node.js的,我們下載好node.js杯聚,npm就自動安裝好了臼婆。

node -v

//打印:v8.x.x

npm -v

//打踊仙堋:5.x.x

npm更新也很方便和簡單颁褂,直接使用命令更新

npm install npm -g

-g 表示全局安裝

package.json文件

package.json 用于管理本地安裝npm包故响。一般有如下作用:?

1. 作為一個描述文件,描述項目依賴哪些包?

2. 讓構(gòu)建更好地與其他開發(fā)者分享颁独,便于重復(fù)使用

package.json創(chuàng)建?

使用npm init即可在當(dāng)前目錄創(chuàng)建一個package.json文件彩届。

npm init

創(chuàng)建package.json的時候,一般會讓填寫一些基礎(chǔ)屬性的信息誓酒,比如名稱版本等樟蠕。此時可以用過npm init --yes 跳過填寫直接創(chuàng)建默認(rèn)名稱。

package.json內(nèi)容介紹?

package.json至少會包含兩部分內(nèi)容:?

1. name 名稱丰捷。要求全部小寫坯墨,無空格,可以使用下劃線或橫線?

2. version 格式要求為x.x.x 病往,并且負(fù)荷'語義化版本規(guī)則'

其他內(nèi)容:

description: 描述信息

main: 入口文件。一般是index.js

scripts: 支持腳本骄瓣,默認(rèn)一個空的test

keywords: 關(guān)鍵字停巷,有助于使用npm search時發(fā)現(xiàn)你的項目

author: 作者信息

license: 默認(rèn)是MIT

bugs: 當(dāng)前項目的一些錯誤信息

使用npm init來設(shè)置一些默認(rèn)值

npm set init.author.name "chl"

npm set init.author.email "xxx@yy.com"

指定依賴包?

在package.json中指定項目依賴的包,然后用npm install將這些包下載下來榕栏。

包的依賴方式有兩種:?

1. dependencies: 在生產(chǎn)環(huán)境中徐要用到的依賴?

2. devDependencies: 在開發(fā)畔勤、測試環(huán)境中用到的依賴

{

? ? "devDependencies": {

? ? ? ? "webpack": "^4.10.2",

? ? ? ? "webpack-cli": "^3.0.1",

? ? ? ? "webpack-dev-server": "^3.1.4"

? ? },

? ? "dependencies": {

? ? ? ? "vue": "^2.5.16"

? ? }

}? ?

npm install PackageName 安裝"dependencies"模式的包?

npm install PackageName --save-dev 安裝"devDependencies"模式的包

Semantic versioning(語義化版本規(guī)則)?

npm的"Semantic versioning",簡稱"Semver"(會不會有人拿這個名稱來做面試坑人呢=_=)扒磁,中文名稱就叫"語義化版本規(guī)則"庆揪。?

那么具體指啥呢?比如我們在package.json中的dependencies的內(nèi)容妨托,有些是"xx": "^3.3.1"缸榛,這里的^或者*等這種,就是這東西兰伤。

使用案例:建設(shè)我們依賴一個包的當(dāng)前版本是1.0.4

如果只打算接受補丁版本更新(最后一位改變)内颗,寫法可以如下:

"xx": "1.0"

"xx": "1.0.x"

"xx": "~1.0.4"

如果接受小版本更新(第二位改變),寫法如下:

"xx": "1"

"xx": "1.x"

"xx": "^1.0.4"

如果接受大版本更新

"xx": *

"xx": x

package安裝?

使用npm install默認(rèn)會安裝package.json中dependencies和devDependencies里所有的內(nèi)容敦腔。

如果指向安裝dependencies中的內(nèi)容均澳,可以使用--production

npm install --production

安裝指定版本的package?

npm install默認(rèn)會安裝最新版本,可以使用如下方式安裝指定版本的包

npm install xx@2.1.3

//或

npm install xx@">=2.1.3 <2.1.8"

更新package?

查看包是否有新版本

npm outdated xx

//若無則不打印

如果有新版本的包符衔,可以使用update更新

npm update xx

下載后的package可以在node_module文件夾中找到找前,在Node.js項目中,可以用require(xx)來使用

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末判族,一起剝皮案震驚了整個濱河市躺盛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌五嫂,老刑警劉巖颗品,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肯尺,死亡現(xiàn)場離奇詭異,居然都是意外死亡躯枢,警方通過查閱死者的電腦和手機则吟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锄蹂,“玉大人氓仲,你說我怎么就攤上這事〉妹樱” “怎么了敬扛?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長朝抖。 經(jīng)常有香客問我啥箭,道長,這世上最難降的妖魔是什么治宣? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任急侥,我火速辦了婚禮,結(jié)果婚禮上侮邀,老公的妹妹穿的比我還像新娘坏怪。我一直安慰自己,他們只是感情好绊茧,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布铝宵。 她就那樣靜靜地躺著,像睡著了一般华畏。 火紅的嫁衣襯著肌膚如雪鹏秋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天唯绍,我揣著相機與錄音拼岳,去河邊找鬼。 笑死况芒,一個胖子當(dāng)著我的面吹牛惜纸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播绝骚,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼耐版,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了压汪?” 一聲冷哼從身側(cè)響起粪牲,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎止剖,沒想到半個月后腺阳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體落君,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年亭引,在試婚紗的時候發(fā)現(xiàn)自己被綠了绎速。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡焙蚓,死狀恐怖纹冤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情购公,我是刑警寧澤萌京,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站宏浩,受9級特大地震影響知残,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜比庄,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一橡庞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧印蔗,春花似錦、人聲如沸丑勤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽法竞。三九已至耙厚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岔霸,已是汗流浹背薛躬。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留呆细,地道東北人型宝。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像絮爷,于是被迫代替她去往敵國和親趴酣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容

  • npm指令 通過npm指令坑夯,允許用戶從npm服務(wù)器上下載第三方包岖寞、下載并安裝別人編寫的命令行程序到本地使用,也可自...
    baybay_learn閱讀 4,758評論 0 2
  • npm是什么 NPM的全稱是Node Package Manager柜蜈,是隨同NodeJS一起安裝的包管理和分發(fā)工具...
    build1024閱讀 7,881評論 0 9
  • 什么是 NPM npm之于Node仗谆,就像pip之于Python,gem之于Ruby,composer之于PHP指巡。 ...
    ihoey閱讀 6,250評論 2 36
  • 原文鏈接:http://www.mujiang.info/translation/npmjs/files/pack...
    R_X閱讀 1,032評論 0 1
  • 1.概述 每個項目的根目錄下面,一般都有一個package.json文件隶垮,定義了這個項目所需要的各種模塊藻雪,以及項目...
    YINdevelop閱讀 1,395評論 0 2