一、package.json是什么
package.json其實可以理解為對當前文件夾的一個“目錄”,跟specs文件還是有一定區別的。
關于字段的解釋,可以點擊鏈接查看字段解釋。主要的已經列出來了,還有一些注意事項:
- name :”yuba-yilai”, //一個叫做yuba-yilai的包
- version :”1.0.0”//版本號
- description 寫一些描述,發布后在網上可以看到
- main 入口文件
- scripts 可選字段
- author 作者名(算是簽名吧,隨便寫一個)
- license 可選字段
- repository 代碼地址
- dependencies 存放項目或組件代碼中依賴到的包
- devDependencies 可選字段 存放測試代碼依賴的包或構建工具的包
1.關于main
其實就是一個文件名稱,例如”index.js"
它代表著這個庫的總入口,規范下,應該這個包里面所暴露給外面使用的部分,
需要通過此文件暴露出來
2.關于可選字段
<1.關于Scripts
"可選字段",object。Key是生命周期事件名,value是在事件點要跑的命令
(腳本)。
參考 npm-scripts
<2. 關于license
創建時直接回車用默認的ISC就行了
對于我來說 暫時沒什么用...
3.關于package.json
里面的字典格式
“dependencies”:{
bao1,
bao2,
bao3
},
不可以再最后一個包后面加逗號
當你npm install <庫名稱> -save時
npm會自動排序里面的庫,”,"你不用添加,自動按照格式添加的
如果你把最后一個庫的版本號后面寫了一個”,”
那么你用npm uninstall -g <庫名稱> 命令時,就會報錯。
4.關于repository
"repository": {
"type": "git",
"url": "https://github.com/lijiaxiang/XXCollectionViewDemo.git"
},
方便作者拉取代碼進行修改,也方便其他人在git上面看源碼
type也可以是SVN
寫上地址后會形成內容連接,顯示在npmjs.com的官網庫的右側,方便別人查閱
魚吧的npm
5.關于依賴的庫的版本,為什么你會看到^ >= <= || 看一下下面的截圖
二、linux關于npm使用的常用命令
更新一個庫
npm i <庫名稱>發布一個當前文件所在的庫
npm publish創建一個index.js文件
touch index.js創建一個文件夾
mkdir <文件夾名稱>給當前庫增加一個管理員——會讓輸入npm官網的賬號和 密碼
npm adduser
添加庫的截圖
添加一個庫,并且依賴這個庫
npm install <庫名稱> -save移除
npm uninstall <庫名稱> -save-
查看添加了這個庫
添加庫.png -
并且當前庫,依賴了這個庫
配置文件.png
附一篇詳細介紹的文檔
http://www.runoob.com/nodejs/nodejs-npm.html
創建庫,目前遇到的坑以及如何填補
坑1:有一個比較簡單的坑,我就不截圖了,申請完npm賬號之后,記得郵箱驗證一
下,不然發布時候會報錯。-
坑2:在npm init 創建完package.json文件以后,要記得在npm publish發布前
確認一下是否登錄,登錄一下npm賬號,郵箱要填對。$ npm adduser Username: mcmohd Password: Email: (this IS public) mcmohd@gmail.com
-
坑3:
一個庫的目錄,建成這樣會怎樣:
例圖.png
如果你導入這樣的目錄,并且引入了這個包
導入包.png
就會看到一個之前常困惑我們的紅屏報錯,原因是找不到入口,讓你重新更新庫。顯然這個找到原因之后,改起來很ez。
報錯.png -
坑4:如果你目錄建成這樣
屏幕快照 2017-08-30 下午4.40.30.png
并且index.js這樣寫
index.png
也是不對的,會收到另外一個紅屏報錯,顯示路徑下沒有xxtools
正確的路徑應該是: ‘./lib/xxtools’
正確的.png 坑5:
關于node_modules嵌套node_modules這種形式的庫,不推薦使用。搜索了一些文檔,網上爭議比較大,有說錯的有說對的
http://cnodejs.org/topic/5502416b73263b0e4eef9aeb