作為前端趴久,我們經(jīng)常在npm上面下載各種各樣各路大神的插件,安裝至我們的項目中搔确,方便又快捷彼棍。下面就簡單介紹一下如何將我們自己寫的小插件上傳至npm,供自己和大家下載使用膳算。
前提需要在自己的電腦下載node.js ,下載完自動會有npm.( 自行下載 )
首先需要在npm官網(wǎng)注冊一個賬號座硕。(https://www.npmjs.com/signup,自行注冊涕蜂,不多介紹)华匾。
注冊完后,使用cmd終端的方式登錄 npm login ,如圖
依次輸入用戶名机隙,密碼蜘拉,郵箱
輸入成功后如出現(xiàn)以上報錯信息:大概意思是我們吧npm倉庫指向成了淘寶鏡像庫了,這可能是因為我們以前安裝了cnpm有鹿,我們需要吧設置成npm倉庫旭旭,解決如下:
cmd執(zhí)行:?npm config set registry=http://registry.npmjs.org? ? ?如圖:
設置完成后,使用命令? ?npm config get registry? ? 查看印颤,成功指向了npm您机。
以上終端登錄完成 接下來開始編碼我們需要上傳的插件吧穿肄!
首先新建一個空文件夾年局,我這里是myTestPlugin际看,終端進入當前文件夾,初始化項目? npm init
需要填寫的信息依次是:
package name:? ?包的名稱
version:? ? ? ? ? 版本號
description:? ? ?包的描述
entry point:? ? ? 入口文件矢否,默認是index.js
test command:? ?測試命令仲闽,可以不填直接回車
git repository:? ? 提供git個人倉庫,可以不填僵朗,直接回車
keywords:? ? ?testplugin?(項目的關鍵詞赖欣,npm搜索關鍵詞)
author:? ? ? ? ? ? 作者名稱
license: (ISC)? ? ?包遵循的開源協(xié)議,默認是ISC
以上填寫完畢后會出現(xiàn)剛才填寫的項目結(jié)構验庙,is this ok ? 是否確定顶吮,直接回車即可.
回到自己的文件夾,會多出現(xiàn)一個package.json文件粪薛,就是我們剛才填的項目信息悴了,如圖:
此時我們在當前文件夾下面新建一個index.js的入口文件,寫上一個簡單的方法违寿,如圖:
此時打開我們的終端湃交,進入當前文件夾,輸入命令 npm publish? 發(fā)布至npm : 成功后如圖:
然后我們進入npm 官網(wǎng)(https://www.npmjs.com)藤巢,搜索我們剛剛發(fā)布的插件搞莺。如圖
接下來就是在我們自己的項目里面安裝我們的插件:
新建項目,進入該項目cmd,執(zhí)行? ?npm install?test-plugin-xyp? ?安裝我們的插件掂咒,然后引入調(diào)用才沧。(我這里是使用node命令執(zhí)行)如圖:
我們的插件也被安裝在node_modules文件夾下面了。
如上圖绍刮,調(diào)用成功糜工,出現(xiàn)幾個warning警告,是因為項目沒有執(zhí)行 npm init 初始化生成package.json 項目配置文件录淡。因為我是使用node啟動程序的捌木。需要的同學可以?npm init。?
如果今后我們在插件源碼上面新增了功能嫉戚,發(fā)布前需要在源碼文件夾的package.json文件下修改下?version 屬性值(版本號),然后在重新執(zhí)行命令 npm?publish ,發(fā)布成功后刨裆,則可以在npm官網(wǎng)搜到我們的更新版本號相關信息。 然后在我們自己的項目中重新npm install? 插件名 彬檀,就可以使用我們新添加的功能啦帆啃。
至此,演示完畢窍帝。
當然啦努潘,也有發(fā)布失敗的情況下,下面貼幾種常見的失敗場景:
1:未登錄npm情況下報錯,解決方法:先登錄疯坤。(上文可查看登錄方法)
2:因為倉庫指向了淘寶鏡像庫报慕,需要設置成npm,執(zhí)行圖中綠色線压怠,然后重新登錄即可
3:大概意思就是你的插件名在npm上已經(jīng)被占用啦眠冈,進入文件目錄下package.json 里面修改?name 屬性值
4:此報錯信息是因為新注冊的賬號,還未經(jīng)過驗證菌瘫,需要注冊時的郵箱驗證蜗顽,復制鏈接,并登錄后雨让,才算驗證完畢雇盖,驗證后,重新npm publish