vue-loading插件开发+npm部署

2,906 阅读4分钟

简介

作为一个开发萌新,一直秉承着轮子的搬运工,时而感叹着搬运真爽原则,哈哈哈哈,见笑了各位。但是,摸着良心说,我内心对那些开发插件的大牛,有着一颗赤诚的敬畏之心。很羡慕他们有能力能造福大家,省去了大部分开发的时间。

所以我决定也要学习着开发一个属于自己的插件,并且发布到npm可以造福大家哈哈哈哈哈,虽然我是个萌新,但是我会努力的。

目录

  • 插件功能概述
  • 部署准备工作
  • 部署项目
  • 验证
  • 总结

插件功能概述

功能 :实现一个loading加载功能。同时用户可以自定义样式大小以及文字。

介绍:此版本为第一个版本,而且主要以发布流程流程为主。所以只封装了三个loading组件。在以后的版本中,会增加许多种类。大家有什么好的建议也可以提供给我,让我多多改进。

组件1:环形loading

  <ys-load-ring text='loading':isShow='true'></ys-load-ring>

参数

参数 描述 类型
background 背景颜色 String
radius 圆圈的半径 String
color 文字颜色 String
isShow 显示与隐藏 Boolean
text 文字内容 String

展示

组件2:条纹加载

<ys-load-wave :isShow='true'></ys-load-wave>
参数 描述 类型
isShow 显示与隐藏 Boolean

组件3:闪烁小球加载

 <ys-load-bobble :isShow='true'
参数 描述 类型
isShow 显示与隐藏 Boolean
radius 圆圈的半径 String

小结:再检查组件功能无误的话,我们就可以进行部署操作了。

部署准备工作

a.理解vue插件工作原理

我们都知道插件是通过Vue.use()引入的,那么其工作原理到底是什么呢?先了解一下这个api.
参数

{Object | Function} plugin

用法

安装 Vue.js 插件。如果插件是一个对象,必须提供 install 方法。如果插件是一个函数,它会被作为 install 方法。install 方法调用时,会将 Vue 作为参数传入。

该方法需要在调用 new Vue() 之前被调用。

当 install 方法被同一个插件多次调用,插件将只会被安装一次。

b.编写install方法:

思路:我们知道会执行install函数,所以在install函数里,我们就开始全局注册组件,并且install函数第一参数默认是Vue:

import YsLoadRing from './YSLoadRing'
import YsLoadBobble from './YSLoadBobble'
import YsLoadWave from './YSLoadWave'
import Vue from 'vue'

const components = {
  YsLoadRing,
  YsLoadBobble,
  YsLoadWave

}
function install () {
  Object.keys(components).forEach(name => {
    Vue.component(name, components[name])
  })
}
export default { install }

导入所有组件,在install函数里进行全局注册,然后在把这个函数导出。所以,这个文件便是插件的入口文件。

c.配置package.json文件

{
  "name": "load-vue",   //项目名称
  "version": "0.0.1",   //版本号 每次发布必须要不一样哦
  "private": false,     //是否隐私
  "main": "./src/components/Load/index.js",     //入口文件一定要是刚刚写的那个Js文件
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.4",
    "vue": "^2.6.11",
    "vue-router": "^3.1.6"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^4.3.0",
    "@vue/cli-plugin-eslint": "^4.3.0",
    "@vue/cli-plugin-router": "^4.3.0",
    "@vue/cli-service": "^4.3.0",
    "@vue/eslint-config-standard": "^5.1.2",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-import": "^2.20.2",
    "eslint-plugin-node": "^11.1.0",
    "eslint-plugin-promise": "^4.2.1",
    "eslint-plugin-standard": "^4.0.0",
    "eslint-plugin-vue": "^6.2.2",
    "less": "^3.0.4",
    "less-loader": "^5.0.0",
    "vue-template-compiler": "^2.6.11"
  }
}

d.注册一个npm账号

直接进入官网注册,傻瓜式流程。

部署项目:

默认上面的步骤都是一步一步走完的,好了打开命名行:

a.输入npm login 进行npm登录,输入注册的账号密码邮箱

b.输入npm whoami 如果登陆成功 就会显示你的用户名

c.最后一步上传文件 npm publish

如果出现这个页面,就说明上传成功了。哈哈哈哈如果你能出现的话?其中也有几个坑点:

d1:在注册时,要进行邮箱验证,手机点开是无效的,必须用电脑用电脑用电脑点开!!!否则就会这个错误:

d2:当遇到这个错误时:

我们需要这样做:

d3:需要将淘宝源换成npm源。

验证:

当完成发布后,我们进入npm主页就会这样子:

到这里,我们还需要验证一下,从另外一项目引入自己发的插件(不要从刚刚那个项目引入),看看能不能成功。当然我是没有遇到问题,所以还是验证一下为好的。

总结:

终于终于,有了自己的插件,要细心呵护,茁壮成长。接下来,就是准备做一个官网,来介绍自己了。待它成为参天大树,哈哈哈哈,我早已秃头了。。。。。
理解组件化思想,理解组件化开发。就像现在经济全球化一样哈哈哈哈哈。
一入前端深似海啊,不焦躁,一步一步来。