vue插件开发

一、背景

由于定时任务需求是以一个管理后台为基础,定时任务以一个外部引入或者插入的形式出现在管理后台中的;所以需要该组件(插件)要能够与管理后台拆分开来,在前端层面不能与管理后台的代码和功能耦合太强;所以针对此问题设计出以下方案来实现。

二、功能概要

(1)定时任务列表

包括已创建的定时任务列表、分页功能、必要的操作按钮;

(2)创建定时任务弹窗

包括创建定时任务所需的输入框和按钮

(3)查看已创建定时任务弹窗

包括显示定时任务详细信息的展示

三、实现方式

(1)概述

以插件和组件混合形式实现,其中列表、分页使用Element抽离成单独的组件来实现;再把各个功能组合到一起,打包形成一个组件文件;然后通过NPM发布到npm市场上形成一个稳定的版本,供使用方进行使用;使用方只需要安装此插件,传参并使用;就可以在页面中呈现出插件的页面和功能。

(2)实现步骤

1.开发准备:

①使用vue-cli脚手架工具进行创建:vue init webpack-simple //文件名 不支持驼峰(含大写字母)
②创建好后创建lib文件夹,存放你的插件代码,其中包括vue文件(业务逻辑)和js文件(暴露install方法),同时运行cnpm i 或者npm i安装所需依赖
目录结构
③随便在vue文件中编写一些代码,以便等会儿测试,注意组件的name必须是唯一的,不然引用的时候有同名会出现报错;index.js中书写暴露方法;然后去main.js更改里面的配置,去掉无用的vue和router的引用,直接引用lib中的index.js文件,并暴露出来;

//index.js
import VueComment from './crontab.vue'
const comment = {
  install: function (Vue) {
    Vue.component(VueComment.name, VueComment)
  }
}
// 这里的判断很重要
if (typeof window !== 'undefined' && window.Vue) {
  window.Vue.use(comment)
}
export default comment
//main.js
import VueComment from './lib/index.js'
 
export {VueComment}

④到此就可以先进行开发了,为了能够在其他地方看到页面,并热更新;这时候不可能立马配置打包或者发布源码到npm上,所以这里需要用到npm link功能,在本项目中直接允许npm link把项目挂到全局;然后去别的项目的main.js中增加引入;并在你需要使用的地方进行标签引入或者挂载方法到vue.property.$<方法名称>,然后在该项目中运行npm link <插件的项目名> ,然后再运行项目即可。

使用方引入:

(1)首先需要安装插件,通过npm install $<插件名称>,这里以定时任务举例:npm install vhall-crontab

(2)在应用入口文件mian.js注册该插件;注意这里和引入打包后的js有点不一样哈,这里有点类似把文件打入了项目的依赖包中的意思。
使用示例

(3)具体页面使用:
具体页面使用

四、打包和发布

打包最好就用yarn打包,应用最好用webpack;打包就直接打成一个js就行,记得打包的时候要改package中main的入口,如果你是本地,也就是dev环境直接运行在开发工具中的话,你就是main.js的入口,如果是打包出来就应该是dist/${你要打出来的文件名}.js,然后你再去Windows PowerShell中登录npm或者别的平台去发布你的代码,发布自己百度一下就知道怎么发布版本并打入项目依赖了;也可以不发布每次引入打包出来的js也行。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值