寫了代碼如何發佈到npm包?vue
示例git
demo1github
demo2npm
在npm官網註冊https://www.npmjs.com/
注意郵箱要驗證,會發送驗證連接到你的註冊郵箱,沒有驗證的話是不能發佈代碼的json
名字不能重複,在官網查詢下是否是重複,重複的包名不能提交c#
須要一個package.json文件,這個文件不單單是用來標明依賴和npm script腳本,也能夠是一個npm包被外界識別的配置文件。
由於配置文件內容比較多,能夠選擇本身手寫,或者bash
npm initmarkdown
根據提示寫好你的信息,以個人爲例:name包名和main/bin對應你的包的入口文件,這裏個人代碼和github一塊兒管理,author注意不要寫錯和你的npm帳號一致app
{ "name": "calamus-vue-music", "version": "0.0.2", "description": "a vue music player", "main": "music.vue", "bin": "music.vue", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", "url": "git+https://github.com/calamus0427/calamus-vue-music.git" }, "keywords": [ "music", "player", "vue", "calamus" ], "author": "calamus", "license": "MIT", "bugs": { "url": "https://github.com/calamus0427/calamus-vue-music/issues" }, "homepage": "https://github.com/calamus0427/calamus-vue-music#readme", "_from": "calamus-vue-music@0.0.1" }
npm pack
會生成一個 tgz版本文件
打開一個新的項目,路徑爲剛剛生成的路徑post
npm install 路徑/文件-1.0.0.tgz
先登陸你的帳號
$ npm adduser Username: your name Password: your password Email: yourmail
按照你註冊的帳號配置好,這時候看一下package.json中author儘可能與npm帳戶一致。
在根目錄下配置帳號信息,只用配置一次便可,我上傳的時候發現有提示必須admin權限才能上傳問題就是沒在根目錄下配置信息
檢查是否登陸成功
npm who am i # 若是不成功則從新登陸一下 npm login
配置成功以後提交代碼
npm publish
若是提交成功會出現以下提示:
注意每次提交版本號都要比上次的高
去官網你的帳號下面看一下有沒有
或者直接npm下載下來
npm install calamus-vue-music --save
一些常見的錯誤:
這是由於鏡像設置成淘寶鏡像了,設置回來便可
npm config set registry http://registry.npmjs.org
2.npm publish failed put 500 unexpected status code 401
通常是沒有登陸,從新登陸一下 npm login 便可
3.npm ERR! you do not have permission to publish 「your module name」. Are you logged in as the correct user?
包名被佔用,改個包名便可。最好在官網查一下是否有包名被佔用,以後再重命名
4.you must verify your email before publishing a new package
郵箱未驗證,去官網驗證一下郵箱