一拯田、package.json是什么
package.json其實(shí)可以理解為對(duì)當(dāng)前文件夾的一個(gè)“目錄”震捣,跟specs文件還是有一定區(qū)別的岛蚤。
關(guān)于字段的解釋番川,可以點(diǎn)擊鏈接查看字段解釋到涂。主要的已經(jīng)列出來(lái)了脊框,還有一些注意事項(xiàng):
- name :”yuba-yilai”, //一個(gè)叫做yuba-yilai的包
- version :”1.0.0”//版本號(hào)
- description 寫(xiě)一些描述,發(fā)布后在網(wǎng)上可以看到
- main 入口文件
- scripts 可選字段
- author 作者名(算是簽名吧养盗,隨便寫(xiě)一個(gè))
- license 可選字段
- repository 代碼地址
- dependencies 存放項(xiàng)目或組件代碼中依賴到的包
- devDependencies 可選字段 存放測(cè)試代碼依賴的包或構(gòu)建工具的包
1.關(guān)于main
其實(shí)就是一個(gè)文件名稱缚陷,例如”index.js"
它代表著這個(gè)庫(kù)的總?cè)肟谑矢荩?guī)范下往核,應(yīng)該這個(gè)包里面所暴露給外面使用的部分,
需要通過(guò)此文件暴露出來(lái)
2.關(guān)于可選字段
<1.關(guān)于Scripts
"可選字段"嚷节,object聂儒。Key是生命周期事件名,value是在事件點(diǎn)要跑的命令
(腳本)硫痰。
參考 npm-scripts
<2. 關(guān)于license
創(chuàng)建時(shí)直接回車(chē)用默認(rèn)的ISC就行了
對(duì)于我來(lái)說(shuō) 暫時(shí)沒(méi)什么用...
3.關(guān)于package.json
里面的字典格式
“dependencies”:{
bao1,
bao2,
bao3
},
不可以再最后一個(gè)包后面加逗號(hào)
當(dāng)你npm install <庫(kù)名稱> -save時(shí)
npm會(huì)自動(dòng)排序里面的庫(kù)衩婚,”,"你不用添加,自動(dòng)按照格式添加的
如果你把最后一個(gè)庫(kù)的版本號(hào)后面寫(xiě)了一個(gè)”,”
那么你用npm uninstall -g <庫(kù)名稱> 命令時(shí)效斑,就會(huì)報(bào)錯(cuò)非春。
4.關(guān)于repository
"repository": {
"type": "git",
"url": "https://github.com/lijiaxiang/XXCollectionViewDemo.git"
},
方便作者拉取代碼進(jìn)行修改,也方便其他人在git上面看源碼
type也可以是SVN
寫(xiě)上地址后會(huì)形成內(nèi)容連接缓屠,顯示在npmjs.com的官網(wǎng)庫(kù)的右側(cè)奇昙,方便別人查閱
魚(yú)吧的npm
5.關(guān)于依賴的庫(kù)的版本,為什么你會(huì)看到^ >= <= || 看一下下面的截圖
二敌完、linux關(guān)于npm使用的常用命令
更新一個(gè)庫(kù)
npm i <庫(kù)名稱>發(fā)布一個(gè)當(dāng)前文件所在的庫(kù)
npm publish創(chuàng)建一個(gè)index.js文件
touch index.js創(chuàng)建一個(gè)文件夾
mkdir <文件夾名稱>給當(dāng)前庫(kù)增加一個(gè)管理員——會(huì)讓輸入npm官網(wǎng)的賬號(hào)和 密碼
npm adduser
添加庫(kù)的截圖
添加一個(gè)庫(kù)储耐,并且依賴這個(gè)庫(kù)
npm install <庫(kù)名稱> -save移除
npm uninstall <庫(kù)名稱> -save-
查看添加了這個(gè)庫(kù)
-
并且當(dāng)前庫(kù),依賴了這個(gè)庫(kù)
附一篇詳細(xì)介紹的文檔
http://www.runoob.com/nodejs/nodejs-npm.html
創(chuàng)建庫(kù)滨溉,目前遇到的坑以及如何填補(bǔ)
坑1:有一個(gè)比較簡(jiǎn)單的坑什湘,我就不截圖了,申請(qǐng)完npm賬號(hào)之后晦攒,記得郵箱驗(yàn)證一
下闽撤,不然發(fā)布時(shí)候會(huì)報(bào)錯(cuò)。-
坑2:在npm init 創(chuàng)建完package.json文件以后脯颜,要記得在npm publish發(fā)布前
確認(rèn)一下是否登錄哟旗,登錄一下npm賬號(hào),郵箱要填對(duì)伐脖。$ npm adduser Username: mcmohd Password: Email: (this IS public) mcmohd@gmail.com
-
坑3:
一個(gè)庫(kù)的目錄热幔,建成這樣會(huì)怎樣:
如果你導(dǎo)入這樣的目錄,并且引入了這個(gè)包
就會(huì)看到一個(gè)之前常困惑我們的紅屏報(bào)錯(cuò)讼庇,原因是找不到入口绎巨,讓你重新更新庫(kù)。顯然這個(gè)找到原因之后蠕啄,改起來(lái)很ez场勤。
-
坑4:如果你目錄建成這樣
并且index.js這樣寫(xiě)
也是不對(duì)的戈锻,會(huì)收到另外一個(gè)紅屏報(bào)錯(cuò),顯示路徑下沒(méi)有xxtools
正確的路徑應(yīng)該是: ‘./lib/xxtools’
坑5:
關(guān)于node_modules嵌套node_modules這種形式的庫(kù)和媳,不推薦使用格遭。搜索了一些文檔,網(wǎng)上爭(zhēng)議比較大留瞳,有說(shuō)錯(cuò)的有說(shuō)對(duì)的
http://cnodejs.org/topic/5502416b73263b0e4eef9aeb