第一個Vue插件從封裝到發布


前言

  這是我封裝的第一個Vue插件,實現的功能是滑動選擇省市區,雖然只是一個簡單的插件,但還是挺開心的,記錄一下步驟。

  插件地址:https://github.com/leichangchun/vue-area-select     歡迎指正

准備

  Vue官網插件部分 的介紹雖然很簡單,但是還是好好刷一遍的。由於此插件較為簡單,主要用到以下兩個點:

  1 . Vue的插件需要有一個公開方法install

  2 . 通過全局方法 Vue.use() 使用插件,在下文有栗子

創建工程

  初始化工程

vue init webpack-simple projectName

cd projectName

cnpm install  //安裝依賴

  創建開發組件目錄如下

開發插件

  插件入口index.js需要引入插件組件,寫install方法

import vueAreaSelect from './components/vue-area-select'   //引入組件
const areaSelect = {
  install (Vue, options) {
    Vue.component(vueAreaSelect.name, vueAreaSelect) //全局組件
  }
}

export default areaSelect  //導出

  vue-area-select.vue是插件的具體實現部分,就不過多介紹,詳見源碼。

  調試時的引用方式是引入index.js文件

//引入
import areaSelect from './index.js' 

Vue.use(areaSelect)


//.vue中 使用

<vue-area-select></vue-area-select>

  調試完成后,需要build,然后再npm發布。build的時候需要先修改webpack.config.js中的配置,然后 npm run build 打包文件

  // entry: './src/main.js', //npm run dev時 demo調試的入口
  entry: './src/index.js', //打包時 插件入口
  output: {
    path: path.resolve(__dirname, './dist'),
    publicPath: '/dist/',
    // filename: 'build.js'
    filename: 'vue-area-select-lei.js',  //打包生成文件的名字
    library:'AreaSelect',   //reqire引入的名字
    libraryTarget:'umd',
    umdNamedDefine:true
  }

  此時,插件開發部分已經完成。之后就需要npm發布。

NPM發布

  先配置package.json,需要加入以下幾項

  "private": false,
  "main": "dist/vue-area-select-lei.js", //import引入時默認尋找的文件
  "repository": { //倉庫地址
    "type": "git",
    "url": "https://github.com/leichangchun/vue-area-select"
  },

  然后npm login 登錄賬號   npm publish發布插件

  插件的方式使用

npm install vue-area-select-lei --save //安裝

//插件的方式引入使用
import areaSelect from 'vue-area-select-lei' 

Vue.use(areaSelect)

 效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM