創(chuàng)建
當(dāng)然啦唁毒,先要注冊自己的npm賬號撮我一下注冊
- npm init
先cd 進你要放包的目錄蒜茴,
然后npm init 填寫相關(guān)的資料
name:填寫插件包名,默認(rèn)是當(dāng)前文件夾的名字(注意查看npm上有沒有重復(fù)包名-->
撮我查詢下)浆西。
version:你需要發(fā)布包的版本粉私,默認(rèn)是1.0.0
description:用一句話描述插件包,比如:‘a(chǎn) toast plugin for vue’
entry point:入口文件近零,默認(rèn)是Index.js诺核,你也可以自定義文件名(lib/index.js)
test command:測試命令,直接回車就好了久信,一般用不到
git repository:這個是git倉庫地址窖杀,如果你的包是先放到github上或者其他git倉庫里,如果沒有的話裙士,直接回車?yán)^續(xù)入客。
keyword:包的索引關(guān)鍵字就像百度查詢的關(guān)鍵字一樣(寫些重點就行了)。
author:作者名稱(GitHub名稱或者自己喜歡的名字都可以沒有硬性規(guī)定)
license:開源類型腿椎,一般直接回車就行了桌硫,
最后Is this ok?,直接ok就大功告成了
上傳
用npm login 在控制臺登錄npm賬號
npm login
進入包文件夾啃炸,再用 npm publish 上傳npm包
npm publish
刪除
npm unpublish 包名@版本號
或者用
npm unpublish 包名@版本號 --force
eg:
npm unpublish testtoast@1.0.0
另外主要是處于安全性考慮铆隘,在Azer NPM 撤包事件后,npm公布了一版新的規(guī)則南用,如下:
- 版本更新少于24小時的包允許下架膀钠;
- 超過24小時的包的下架需要聯(lián)系npm維護者;
- 如果有npm維護者參與裹虫,npm將檢查是否有其他包依賴該包肿嘲,如果有則不允下架;
- 如果某個包的所有版本都被移除恒界,npm會上傳一個空的占位包睦刃,以防后來的使用者不小心引用懷有惡意的替代者。