1、初始化項目
vue init webpack-simple XXXXX(此處為插件名)
使用vue創建一個簡單的項目,刪除src中除了main.js和app.vue外的文件,清空app.vue中無用內容
2、更改配置文件
(1)在index.js內
import headerNavbar from './webappHeader'
const headNavbar = { install(Vue, options) { Vue.component(headerNavbar.name, headerNavbar) } } if (typeof window !== 'undefined' && window.Vue) { window.headNavbar = headNavbar Vue.use(headNavbar) } export default headNavbar
(2)在package.json內
version后添加版本號,可自定,以后每次上傳npm都需要更改
private值設為false(必須),不設為false無法發布
在repository內的url字段,填上該項目的github地址,可以把項目傳到自己的GitHub上
(3)在webpack.config.js內
修改entry和filename
(4)在index.html內
3、發布npm
你需要去npm官網注冊一個npm帳號,注冊好后,
(1)進入到項目目錄下npm login,輸入你的用戶名,密碼,郵箱
(2)成功登錄后我們再輸入npm publish,就發布成功!
4、引用
在你的項目中 npm install head_navbar --save
在main.js中引用
import headerPlugin from 'head_navbar' Vue.use(headerPlugin)
5、遇到問題
(1)you must verify your email before publishing a new package: https://www.npmjs.com/email-edit : hjm-console
您沒有驗證您的電子郵件地址。在注冊的時候給你發的郵件要驗證
(2)發布失敗,報錯404,是淘寶鏡像的原因,淘寶倉庫改為原倉庫
npm config set registry https://registry.npmjs.org/
(3)You cannot publish over the previously published version 1.0.1. : hjm-console
你不能發布當前版本1.0.1(每次發布新版本的時候請修改package中的版本號 --> 版本號不能重復),可以手動修改也可以通過命令行修改
(4)報錯:"hjm-vFilters" is invalid for new packages : hjm-vFilters
包名中不再允許使用大寫字符。將包名改為hjm-vue-filters
(5)插件安裝成功,引用不存在,看package.json里面的
"main": "dist/head_navbar.js",是否正確,修改正確后重新發布
(6)插件中使用了圖片,圖片路徑不對,將webpack.config.js里面的file-loader改為url-loader
