vue 实现 tomato timer(蕃茄钟)实例讲解


Posted in Javascript onJuly 24, 2017

近期在学习【时间管理】方面的课程,其中有一期讲了蕃茄工作法,发现是个好多东西。蕃茄工作法核心思想就是:工作25分钟,休息5分钟。如果您好了解更多可以自行度娘。 在加上本人是一个程序猿,就想用程序的方式来表达对此工作法的敬意。因此就产生了用vue实现一个tomato timer的想法。

vue 实现 tomato timer(蕃茄钟)实例讲解

一、vue如何实现他的

1. 依赖的包

"devDependencies": {
 "babel-plugin-lodash": "^3.2.11",
 "babel-preset-es2015-rollup": "^3.0.0",
 "babel-preset-latest": "^6.24.1",
 "rollup": "^0.41.6",
 "rollup-plugin-babel": "^2.7.1",
 "rollup-plugin-commonjs": "^8.0.2",
 "rollup-plugin-node-resolve": "^3.0.0",
 "rollup-plugin-replace": "^1.1.1",
 "rollup-plugin-vue": "^2.4.0"
 },
 "dependencies": {
 "iview": "^2.0.0-rc.19",
 "lodash": "^4.17.4",
 "vue": "^2.4.1",
 "vuex": "^2.3.1"
 }

打包工具没有用流行的webpack,而是rollup,因为他有shaking tree技术。

ui用的是iview,mvvm当然是我熟悉而喜爱的vue了。

2. 项目结构

vue 实现 tomato timer(蕃茄钟)实例讲解

说明:

aloneIndex.js和Index.js都是此模块的入口,index.js是用于对接本人实现的vueManager中后端管理平台,而aloneIndex.js则是让tomato timer能单独运行。

本项目实现了数据与视图的解藕,也就是.vue文件中不在直接操作store(存储层),而是调用service层提供的方法来进行中转。

3. 实现中遇到的坑

rollup对lodash的shaking tree无效

解决办法:

安装:babel-plugin-lodash(将模块的commonJs规范转换为es6规范)、babel-preset-latest

.babelrc配置文件修改:

{
 "presets": [["latest",{
  "es2015":{
   "modules":false
  }
 }]],
 "plugins": ["lodash"],
 "compact": true //处理max 500kb的问题
}

babel提示lodash打包超过500kb的问题

只需要在.bablerc中加入compact:true节点即可。

独立打包后,运行是提示'process is undefine'的问题

安装rollup-plugin-replace即可。

以上这篇vue 实现 tomato timer(蕃茄钟)实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery Tools tab使用介绍
Jul 14 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
Dec 16 Javascript
javascript实现的多个层切换效果通用函数实例
Jul 06 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
Aug 26 Javascript
jQuery中slidedown与slideup方法用法示例
Sep 16 Javascript
Vue.js计算属性computed与watch(5)
Dec 09 Javascript
在一个页面重复使用一个js函数的方法详解
Dec 26 Javascript
无法获取隐藏元素宽度和高度的解决方案
Mar 07 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
js+html5生成自动排列对话框实例
Oct 09 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
Aug 17 Javascript
用云开发Cloudbase实现小程序多图片内容安全监测的代码详解
Jun 07 Javascript
jQuery实现拼图小游戏(实例讲解)
Jul 24 #jQuery
php register_shutdown_function函数详解
Jul 23 #Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 #Javascript
JavaScript30 一个月纯 JS 挑战中文指南(英文全集)
Jul 23 #Javascript
jquery实现下拉菜单的手风琴效果
Jul 23 #jQuery
基于Vue.js实现tab滑块效果
Jul 23 #Javascript
JavaScript判断浏览器和hack滚动条的写法
Jul 23 #Javascript
You might like
如何开始收听短波广播
2021/03/01 无线电
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
PHP随机数函数rand()与mt_rand()的讲解
2019/03/25 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
JavaScript 字符编码规则
2009/05/04 Javascript
jQuery 技巧大全(新手入门篇)
2009/05/12 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
bootstrap daterangepicker汉化以及扩展功能
2017/06/15 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[01:16:13]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第一场 2月22日
2021/03/11 DOTA
Python中zfill()方法的使用教程
2015/05/20 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
python使用pandas实现数据分割实例代码
2018/01/25 Python
Python3.5内置模块之random模块用法实例分析
2019/04/26 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
python 生成任意形状的凸包图代码
2020/04/16 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
Spartoo葡萄牙鞋类网站:线上销售鞋履与时尚配饰
2017/01/11 全球购物
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
params有什么用
2016/03/01 面试题
创业大赛策划书
2014/03/01 职场文书
客户经理岗位职责
2015/01/31 职场文书
解决pytorch-gpu 安装失败的记录
2021/05/24 Python
Go语言设计模式之结构型模式
2021/06/22 Golang
python异步的ASGI与Fast Api实现
2021/07/16 Python