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 相关文章推荐
JSON 客户端和服务器端的格式转换
Aug 27 Javascript
jquery live()调用不存在的解决方法
Feb 26 Javascript
JavaScript数据结构和算法之图和图算法
Feb 11 Javascript
原生JavaScript编写俄罗斯方块
Mar 30 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
JS插件plupload.js实现多图上传并显示进度条
Nov 29 Javascript
vue2组件实现懒加载浅析
Mar 29 Javascript
React.js中常用的ES6写法总结(推荐)
May 09 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
Apr 02 Javascript
JS中超越现实的匿名函数用法实例分析
Jun 21 Javascript
js实现盒子滚动动画效果
Aug 09 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
在PHP中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
php读取torrent种子文件内容的方法(测试可用)
2016/05/03 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
一个无限级XML绑定跨框架菜单(For IE)
2007/01/27 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
2016/07/28 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
vue仿ios列表左划删除
2019/09/26 Javascript
JS实现页面数据懒加载
2020/02/13 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
Python学习之用pygal画世界地图实例
2017/12/07 Python
python3+PyQt5+Qt Designer实现扩展对话框
2018/04/20 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
python and or用法详解
2019/06/26 Python
解决numpy矩阵相减出现的负值自动转正值的问题
2020/06/03 Python
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
八一建军节感言
2014/02/28 职场文书
实习协议书范本
2014/09/25 职场文书
导游词400字
2015/02/13 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
欢送会主持词
2015/07/01 职场文书
年终工作总结范文
2019/06/20 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
golang 实现Location跳转方式
2021/05/02 Golang
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
python字典的元素访问实例详解
2021/07/21 Python
使用HttpSessionListener监听器实战
2022/03/17 Java/Android