vue css load,vue css3loadding插件的开发以及npm包的发布管理

插件开发的话建议使用vue-gitment脚手架开发

vue init webpack-simple vue-gitment

如果提示

bVbciLr?w=278&h=25

执行cnpm install vue-cli -g 全局安装

cnpm install vue-cli -g

在次执行上面的命令完成之后可以看到这样的目录

bVbciMr?w=297&h=344

在src下面添加component loadding.js loadding.vue

loadding.vue

export default {

props:{

theme:String

}

}

.loadding {

z-index: 1000;

}

.jie-loadding{

width:10%;

height:10%;

max-width:150px;

max-height:150px;

position: absolute;

top:50%;

left:50%;

margin-left:-50px;

margin-top:-50px;

}

.spinner {

width: 100%;

height: 100%;

background-color: #67CF22;

margin: 0 auto;

-webkit-animation: rotateplane 1.2s infinite ease-in-out;

animation: rotateplane 1.2s infinite ease-in-out;

}

@-webkit-keyframes rotateplane {

0% { -webkit-transform: perspective(120px) }

50% { -webkit-transform: perspective(120px) rotateY(180deg) }

100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg) }

}

@keyframes rotateplane {

0% {

transform: perspective(120px) rotateX(0deg) rotateY(0deg);

-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)

} 50% {

transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);

-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)

} 100% {

transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);

-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);

}

}

/*loadding second*/

.spinner2 {

margin: 0 auto;

width: 50px;

height: 50px;

position: relative;

}

.cube1, .cube2 {

background-color: #67CF22;

width: 50%;

height: 50%;

position: absolute;

top: 0;

left: 0;

-webkit-animation: cubemove 1.8s infinite ease-in-out;

animation: cubemove 1.8s infinite ease-in-out;

}

.cube2 {

-webkit-animation-delay: -0.9s;

animation-delay: -0.9s;

}

@-webkit-keyframes cubemove {

25% { -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5) }

50% { -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg) }

75% { -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5) }

100% { -webkit-transform: rotate(-360deg) }

}

@keyframes cubemove {

25% {

transform: translateX(42px) rotate(-90deg) scale(0.5);

-webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);

} 50% {

transform: translateX(42px) translateY(42px) rotate(-179deg);

-webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);

} 50.1% {

transform: translateX(42px) translateY(42px) rotate(-180deg);

-webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);

} 75% {

transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);

-webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);

} 100% {

transform: rotate(-360deg);

-webkit-transform: rotate(-360deg);

}

}

/* loadding three*/

.spinner3 {

width: 100px;

height: 100px;

position: relative;

margin: 0 auto;

}

.double-bounce1, .double-bounce2 {

width: 100%;

height: 100%;

border-radius: 50%;

background-color: #67CF22;

opacity: 0.6;

position: absolute;

top: 0;

left: 0;

-webkit-animation: bounce 2.0s infinite ease-in-out;

animation: bounce 2.0s infinite ease-in-out;

}

.double-bounce2 {

-webkit-animation-delay: -1.0s;

animation-delay: -1.0s;

}

@-webkit-keyframes bounce {

0%, 100% { -webkit-transform: scale(0.0) }

50% { -webkit-transform: scale(1.0) }

}

@keyframes bounce {

0%, 100% {

transform: scale(0.0);

-webkit-transform: scale(0.0);

} 50% {

transform: scale(1.0);

-webkit-transform: scale(1.0);

}

}

/* loadding fourth*/

.spinner4 {

margin: 100px auto 0;

width: 200px;

text-align: center;

}

.spinner4 > div {

width: 50px;

height: 50px;

background-color: #67CF22;

border-radius: 100%;

display: inline-block;

-webkit-animation: bouncedelay 1.4s infinite ease-in-out;

animation: bouncedelay 1.4s infinite ease-in-out;

/* Prevent first frame from flickering when animation starts */

-webkit-animation-fill-mode: both;

animation-fill-mode: both;

}

.spinner4 .bounce1 {

-webkit-animation-delay: -0.32s;

animation-delay: -0.32s;

}

.spinner4 .bounce2 {

-webkit-animation-delay: -0.16s;

animation-delay: -0.16s;

}

@-webkit-keyframes bouncedelay {

0%, 80%, 100% { -webkit-transform: scale(0.0) }

40% { -webkit-transform: scale(1.0) }

}

@keyframes bouncedelay {

0%, 80%, 100% {

transform: scale(0.0);

-webkit-transform: scale(0.0);

} 40% {

transform: scale(1.0);

-webkit-transform: scale(1.0);

}

}

/*loadding five*/

.spinner5 {

margin: 0 auto;

width: 60px;

height: 60px;

position: relative;

}

.container1 > div, .container2 > div, .container3 > div {

width: 20px;

height: 20px;

background-color: #67CF22;

border-radius: 100%;

position: absolute;

-webkit-animation: bouncedelay 1.2s infinite ease-in-out;

animation: bouncedelay 1.2s infinite ease-in-out;

-webkit-animation-fill-mode: both;

animation-fill-mode: both;

}

.spinner5 .spinner-container {

position: absolute;

width: 100%;

height: 100%;

}

.container2 {

-webkit-transform: rotateZ(45deg);

transform: rotateZ(45deg);

}

.container3 {

-webkit-transform: rotateZ(90deg);

transform: rotateZ(90deg);

}

.circle1 { top: 0; left: 0; }

.circle2 { top: 0; right: 0; }

.circle3 { right: 0; bottom: 0; }

.circle4 { left: 0; bottom: 0; }

.container2 .circle1 {

-webkit-animation-delay: -1.1s;

animation-delay: -1.1s;

}

.container3 .circle1 {

-webkit-animation-delay: -1.0s;

animation-delay: -1.0s;

}

.container1 .circle2 {

-webkit-animation-delay: -0.9s;

animation-delay: -0.9s;

}

.container2 .circle2 {

-webkit-animation-delay: -0.8s;

animation-delay: -0.8s;

}

.container3 .circle2 {

-webkit-animation-delay: -0.7s;

animation-delay: -0.7s;

}

.container1 .circle3 {

-webkit-animation-delay: -0.6s;

animation-delay: -0.6s;

}

.container2 .circle3 {

-webkit-animation-delay: -0.5s;

animation-delay: -0.5s;

}

.container3 .circle3 {

-webkit-animation-delay: -0.4s;

animation-delay: -0.4s;

}

.container1 .circle4 {

-webkit-animation-delay: -0.3s;

animation-delay: -0.3s;

}

.container2 .circle4 {

-webkit-animation-delay: -0.2s;

animation-delay: -0.2s;

}

.container3 .circle4 {

-webkit-animation-delay: -0.1s;

animation-delay: -0.1s;

}

@-webkit-keyframes bouncedelay {

0%, 80%, 100% { -webkit-transform: scale(0.0) }

40% { -webkit-transform: scale(1.0) }

}

@keyframes bouncedelay {

0%, 80%, 100% {

transform: scale(0.0);

-webkit-transform: scale(0.0);

} 40% {

transform: scale(1.0);

-webkit-transform: scale(1.0);

}

}

loadding.js

import loadding from './loadding.vue'

const Loadding ={

install:function (Vue) {

Vue.component('Loadding',loadding)

}

};

// 这里的判断很重要

if (typeof window !== 'undefined' && window.Vue) {

window.Vue.use(Loadding)

}

export default Loadding

然后修改webpack.config.js文件

bVbciMY?w=780&h=399

entry:webpack打包的入口文件

output:webpack打包的出口文件里面的是一些配置

library:模块名字 这里是Loadding

libraryTarget:'umd'//写插件的时候需要umd

umdNamedDefine:true //对umd的模块命名表示负责

然后npm run build一下

emmmm这个时候出现了一坨东西 表示成功了

bVbciNj?w=280&h=88

确认没问题之后 就再次修改package.json文件

我的是这样子

{

"name": "cssloadding-jie",

"description": "A Vue.js project",

"version": "1.0.0",

"author": "Livejie <18312173568@163.com>",

"license": "MIT",

"private": false,

"main":"loadding/js/loadding.js",

"keywords": [

"vue",

"css3loadding",

"ajax loadding"

],

"scripts": {

"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",

"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"

},

"dependencies": {

"vue": "^2.5.11"

},

"browserslist": [

"> 1%",

"last 2 versions",

"not ie <= 8"

],

"devDependencies": {

"babel-core": "^6.26.0",

"babel-loader": "^7.1.2",

"babel-preset-env": "^1.6.0",

"babel-preset-stage-3": "^6.24.1",

"cross-env": "^5.0.5",

"css-loader": "^0.28.7",

"file-loader": "^1.1.4",

"vue-loader": "^13.0.5",

"vue-template-compiler": "^2.4.4",

"webpack": "^3.6.0",

"webpack-dev-server": "^2.9.1"

}

}

![图片描述][5]

name:插件的名字

description:提示

version:版本号

author:作者

main:加入main入口文件

keywords:添加关键词

然后把不要的删除掉

目录结构变成这样子

bVbciNz?w=283&h=75

然后登陆npm

npm login

输入用户名 密码 邮箱登陆

没有的话去这里注册https://www.npmjs.com/

发布

npm publish

发布成功

bVbciOo?w=451&h=122

更新的话再次publish但是需要修改下version版本

一定要修改version版本不然会报错

再次npm publish

bVbciOS?w=262&h=36

再次打开一个新的项目

npm install cssloadding-jie

main.js下

import Loadding from 'cssloadding-jie'

Vue.use(Loadding);

vue文件下使用

npm run dev 打开浏览器查看

bVbciPx?w=578&h=301

成功引入

成功发布并使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571662.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js删除数组中指定元素_js中数组操作详解

今天给大家带来一篇有关数组操作方法的文章。新建数组方法一&#xff1a;通过new运算符创建一个数组构造函数。var arr new Array();方法二&#xff1a;通过方括号直接创建直接量数组。var arr [1,2,3];添加数组中的元素方法一&#xff1a;通过下标添加元素。var arr new Ar…

批量下载,多文件压缩打包zip下载

0、写在前面的话图片批量下载&#xff0c;要求下载时集成为一个压缩包进行下载。从昨天下午折腾到现在&#xff0c;踩坑踩得莫名其妙&#xff0c;还是来唠唠&#xff0c;给自己留个印象的同时&#xff0c;也希望给需要用到这个方法的人带来一些帮助。1、先叨叨IO叨叨IO是因为网…

选了combobox里的选项后没激发change事件_35岁前多用利弊分析,35岁后要有“安全边际”...

想冒险&#xff0c;要趁早1/6、距离糟糕的事情发生&#xff0c;还有多远&#xff1f;我现在同时在职场和投资两类战线写文章&#xff0c;读者也开始串戏。前几天在我另外一个投资号上&#xff0c;有人问我&#xff1a;如果你把投资理念原则扩大到生活中&#xff0c;你觉得最有启…

[W班]第二次结对作业成绩评价

作业地址&#xff1a; https://edu.cnblogs.com/campus/fzu/FZUSoftwareEngineering1715W/homework/1016 作业要求&#xff1a; 1、代码具有规范性。 2、实现的程序语言不做限制性要求&#xff0c;但需要能生成Windows平台的可执行文件。C/C/C#编译后即可生成&#xff0c;其他…

resnet50结构_无需额外数据、Tricks、架构调整,CMU开源首个将ResNet50精度提升至80%+新方法

本文是CMU的Zhiqiang Shen提出的一种提升标准ResNet50精度的方法&#xff0c;它应该是首个将ResNet50的Top1精度刷到80%的(无需额外数据&#xff0c;无需其他tricks&#xff0c;无需网络架构调整)。该文对于研究知识蒸馏的同学应该是有不少可参考的价值&#xff0c;尤其是里面提…

linq to sql 行转列_SQL 难题:行转列

问题&#xff1a;有一张学生成绩表sc&#xff08;sid 学号&#xff0c;cid 课程&#xff0c;score 成绩&#xff09;&#xff0c;请查询出每个学生的英语、数学的成绩&#xff08;行转列&#xff0c;一个学生只有一行记录&#xff09;。建表语句&#xff1a;create 实现方式1—…

c++测试cpu_测评丨NXP系列 LS1028 LS1046等产品网络性能测试

号外号外&#xff01;继OK1012A-C面市以来&#xff0c;飞凌嵌入式公司相继推出了OK1043A-C、OK1046A-C&#xff0c;以及最新上市的OK1028A-C&#xff0c;OK10XX系列产品也是一个大家族了。正所谓春兰秋菊&#xff0c;各擅胜场。下面小编就各产品的网络性能为您简单介绍一下。先…

四.Windows I/O模型之重叠IO(overlapped)模型

1.适用于除Windows CE之外的各种Windows平台.在使用这个模型之前应该确保该系统安装了Winsock2.重叠模型的基本设计原理是使用一个重叠的数据结构&#xff0c;一次投递一个或多个Winsock I/O请求。在重叠模型中&#xff0c;收发数据使用WSA开头的函数。2.WSA_FLAG_OVERLAPPED标…

vscode怎样导入数据_【Python开发】用VSCode+Jupyter notebook 编写 Python

版权声明&#xff1a;小博主水平有限&#xff0c;希望大家多多指导。本文仅代表作者本人观点。1、过去&#xff0c;想要在 VSCode 中运行 Jupyter notebook 需要安装一个 Neuron 扩展&#xff0c;我也装过&#xff0c;感觉很强大、很方便。不过现在&#xff0c;VSCode 中 Pytho…

springboot怎么杀进程_全新Steam在线游戏 Among us太空狼人杀攻略

众多游戏爱好者已加入我们&#xff01;带你发现好游戏&#xff01;休闲娱乐小游戏&#xff01;点击下方↓↓↓↓"开始游戏"&#xff0c;赶紧进入吧&#xff01;&#xff01;戳“开始游戏”玩百款火爆小游戏&#xff01;《Among us》游戏好玩吗&#xff1f;《Among us…

kafka 怎么样连接图形化界面_从零开始搭建Kafka+SpringBoot分布式消息系统

前言由于kafka强依赖于zookeeper&#xff0c;所以需先搭建好zookeeper集群。由于zookeeper是由java编写的&#xff0c;需运行在jvm上&#xff0c;所以首先应具备java环境。(ps&#xff1a;默认您的centos系统可联网&#xff0c;本教程就不教配置ip什么的了)(ps2&#xff1a;没有…

《Iterative-GAN》的算法伪代码整理

花了一下午时间整理本人的论文Iterative-GAN的算法伪代码&#xff0c;由于篇幅较长&#xff0c;投会议方面的文章就不加入了&#xff0c;以后如果投期刊再说。留此存档。 转载于:https://www.cnblogs.com/punkcure/p/7821031.html

h5能调取摄像头吗_高质感的国产中型车,实力能比肩本田雅阁吗?带你看红旗H5...

中国品牌的豪华中型车&#xff0c;带你看红旗H5伴随着经济的快速发展&#xff0c;大家的钱包现在也是越来越鼓&#xff0c;也开始向往更加美好的生活。曾经很多人买车都是为了满足基本的代步需求&#xff0c;如今也开始在车辆的品质与行驶质感上有了更高要求。而为了迎合市场变…

lstm网络_LSTM(长短期记忆网络)

在上篇文章一文看尽RNN(循环神经网络)中&#xff0c;我们对RNN模型做了总结。由于RNN也有梯度消失的问题&#xff0c;因此很难处理长序列的数据&#xff0c;大牛们对RNN做了改进&#xff0c;得到了RNN的特例LSTM(Long Short-Term Memory)&#xff0c;它可以避免常规RNN的梯度消…

ant接口用什么天线_手机听收音机时,为什么必须用耳机作为天线?

名侦探柯基-十万个为什么 第七十六期起因&#xff0c;观看活着韩国丧尸电影时的一幕&#xff0c;刘亚仁想听电台广播&#xff0c;却无奈于所有设备都是无线的&#xff0c;由此疑惑到&#xff0c;只有插入有线的耳机&#xff0c;才能收听广播吗&#xff1f;耳机线就是天线&#…

qt c++ 图片预览_Qt多语言国际化

Qt附加工具介绍Qt Assistant&#xff08;Qt助手)Qt Linguist&#xff08;Qt语言家&#xff09;Qt Designer&#xff08;Qt设计师&#xff09;Qt AssistantQt Assistant是可配置且可重新发布的文档阅读器&#xff0c;可以方便地进行定制并与Qt应用程序一起重新发布。Qt Assistan…

Icon+启动图尺寸

1、LaunchImage 启动图 命名格式&#xff1a; 1x -> xxx.png 2x -> xxx2x.png Retina 4 -> xxx2x.png     转载于:https://www.cnblogs.com/z-z-z/p/7828082.html

智商情商哪个重要_《所谓逆商高,就是心态好》:逆商,比情商和智商更重要...

所谓“逆商”&#xff0c;是指人们遇到逆境时的应对能力&#xff0c;即战胜挫折、摆脱困境和超越困难的能力。我们一生会面临各种各样的难题&#xff0c;也许是考试失利&#xff0c;也许是和心爱的人分离&#xff0c;也许是工作上竞争失败……在失意的时候你会做何选择&#xf…

mysql 排名_学会在MySQL中实现Rank高级排名函数,所有取前几名问题全部解决.

MySQL中没有Rank排名函数&#xff0c;当我们需要查询排名时&#xff0c;只能使用MySQL数据库中的基本查询语句来查询普通排名。尽管如此&#xff0c;可不要小瞧基础而简单的查询语句&#xff0c;我们可以利用其来达到Rank函数一样的高级排名效果。在这里我用一个简单例子来实现…

意大利_【解读】去意大利留学,一定要学意大利语吗?意大利语难吗?

喜欢意大利&#xff0c;想去意大利留学&#xff0c;但不想学意大利语可以吗&#xff1f;意大利语太难了&#xff0c;听说有英授专业(本来就要学英语、考雅思所以不担心英语)……问题来了去意大利留学&#xff0c;选择英授专业的话还需要学意大利语吗&#xff1f;我们一点点剖析…