宝哥软件园

vue组件从开发到发布的实现步骤

编辑:宝哥软件园 来源:互联网 时间:2021-08-28

本文介绍了vue组件从开发到发布的实现步骤,与大家分享如下:

组件化是前端开发非常重要的一部分。与业务脱钩可以提高项目的代码重用率。更重要的是,我们还可以打包发布。俗话说,集体力量大,正是因为有很多开源贡献者,才有了现在的世界。

不想造轮子的工程师不可能是合格的搬运工。让我们看看vue组件从开发到打包发布的流程,配置Github主页。

本文以vue-clock2组件为例,对star _~~项目的地址表示欢迎

目标框架:vue打包工具:webpack发布来源:npm代码托管:github项目结构

|-node _ modules |-src | |-index . js | |-vue-clock . vue |-docs | |-index . html | |-index . CSS |-distsrc :组件相关代码。Node_modules:组件依赖包。Docs:文档,组件可以简单到单个页面,也可以使用vuepress。对于dist:打包组件内容,package.json的主条目一般指向这个文件夹中的文件。组件开发

开发vue组件相对容易。创建一个vue-clock.vue文件,实现组件的相关逻辑。

该组件主要实现基于时间属性输入的时钟样式,并显示相应的时间。

Div class=' clock ' Div class=' clock-circle '/Div class=' clock-hour ' : style=' { transform : hour rotate } '/Div class=' clock-minute ' : style=' { transform : minute rotate } '/Div b class=' hour ' v-for=' h in time list ' : key=' h ' span { { h } }/span/Div基于绘制通过元素的时钟样式

由于时钟的时针并不直接跳到下一点,所以需要计算不同分钟时针的旋转角度。

随后,增加了不指定时间的情况,每分钟显示并自动更新当前时间。

导出默认{ data(){ return { timelist :[12,1,2,3,4,5,6,7,8,9,10,11],hourotatez : ' rotatez(0 deg)',minutrotatez : ' rotatez(0 deg)' };},props: ['time'],watch : { time(){ this . show();} },methods : { show(){ this . show time();如果(这个。_timer) clearInterval(这。_ timer);if(!这个。_ timer=setInterval(()={ this . show time();}, 60 * 1000);} },show time(){ let times;if(this . time){ times=this . time . split(' : ');} else { const now=new Date();times=[now.getHours()、now . getminutes()];} let hour=times[0];小时=11小时?小时- 12 :小时;让分钟=时间[1];设hourAngle=小时* 30分钟* 6/360 * 30;让minute angle=minute * 6;this . hour rotate=` rotatez($ { hour angle } deg)`;this . minute rotate=` rotatez($ { minute angle } deg)`;} },mounted(){ this . show();},销毁了(){ if (this。_timer) clearInterval(这。_ timer);}};还有一些时钟布局样式可以在项目中直接查看。vue-clock.vue

接下来,我们需要抛出组件来介绍项目中的用途。

//src/index.js从“”导入时钟。/vue-clock . vue ';导出默认时钟;if(窗口类型!==“未定义”窗口。Vue) { window。Vue.component('clock ',Clock);}这里,组件开发的部分已经完成。喝杯咖啡,检查一下代码,我们会打包发布给npm。

打包并发布

打包前检查webpack的配置文件输出。

output : { path : path . resolve(_ _ dirname,'。/dist '),publicPath: '/dist/',filename: 'vue-clock.min.js ',library: 'Clock ',library目标:' UMD ',umdnameddefine : true}将组件文件打包到dist文件夹中。

Npm运行buildnpm版本

配置package.json

{ 'name': 'vue-clock2 ',' description': 'Vue组件带时钟',' version': '1.1.2 ',' author': 'bestvist ',' keywords': [ 'vue ',component ',' clock ',' time'],' main ' : ' dist/Vue-clock . min . js ',' license ' : ' MIT ',' home page ' 33: ' https://bestvist.github.io/vue-.

如果使用淘宝镜像,需要先修正镜像源。

检查登录npm whoami//登录npm登录//发布npm由npm配置集注册中心https://registry.npmjs.org///.发布如果看到类似信息,则发布成功。

Npm通知[电子邮件保护] github主页

将项目上传到github hosting并配置一个基本的README.md描述文档。

由于该组件已发布到npm,因此可以在README中配置几个徽章。

//npm版本[NPM版本](https://img . shields . io/NPM/v/vue-clock 2 . SVG)//NPM下载[NPM下载](https://img.shields.io/NPM/dt/vue-clock2.svg)更多

然后描述组件的介绍和使用:

安装:

使用npm安装vue-clock2:

模板时钟: time=' time '/Clock/template script从' vue-clock2 '导入时钟;导出默认{ components: { clock },data(){ return { time 3360 ' 10336040 ' }/脚本。更详细的交互或属性描述将提交给文档。

通过github项目上的设置指定GitHub页面

组件文档应包括:

组件介绍方法组件使用方法的简单示例组件属性描述描述摘要

开发-发布-宿主

已经粗略地介绍了部件轮的制造过程。希望这篇文章能对你有所帮助。也希望大家多多支持我们。

更多资讯
游戏推荐
更多+