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 相关文章推荐
javascript开发中因空格引发的错误
Nov 08 Javascript
jquery 设置style:display的方法
Jan 29 Javascript
jQuery实现的Div窗口震动效果实例
Aug 07 Javascript
AngularJS入门教程之静态模板详解
Aug 18 Javascript
jQuery输入框密码的显示隐藏【代码分享】
Apr 29 jQuery
JavaScript 基础表单验证示例(纯Js实现)
Jul 20 Javascript
深入浅析JavaScript中的RegExp对象
Sep 18 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
Sep 30 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
Jun 05 jQuery
微信小程序 确认框的实现(附代码)
Jul 23 Javascript
Ajax 的初步实现(使用vscode+node.js+express框架)
Jun 18 Javascript
javascript拖曳互换div的位置实现示例
Jun 28 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
《魔兽争霸3:重制版》翻车了?你想要的我们都没有
2019/11/07 魔兽争霸
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
js代码实现微博导航栏
2015/07/30 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
jQuery 位置函数offset,innerWidth,innerHeight,outerWidth,outerHeight,scrollTop,scrollLeft
2010/03/23 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
模仿百度三维地图的js数据分享
2011/05/12 Javascript
html中table数据排序的js代码
2011/08/09 Javascript
如何使Chrome控制台支持多行js模式——意外发现
2013/06/13 Javascript
JS定时器实例详细分析
2013/10/11 Javascript
js控制TR的显示隐藏
2016/03/04 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
如何用JS判断两个数字的大小
2016/07/21 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
浅谈js中的变量名和函数名重名
2017/02/13 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
python网络编程学习笔记(三):socket网络服务器
2014/06/09 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
python实现按任意键继续执行程序
2016/12/30 Python
解决python2.7用pip安装包时出现错误的问题
2017/01/23 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
pandas求两个表格不相交的集合方法
2018/12/08 Python
python采集微信公众号文章
2018/12/20 Python
django框架用户权限中的session缓存到redis中的方法
2019/08/06 Python
解决springboot yml配置 logging.level 报错问题
2020/02/21 Python
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
介绍一下.net和Java的特点和区别
2012/09/26 面试题
竞聘上岗演讲稿范文
2014/01/10 职场文书
树转促学习心得体会
2014/09/10 职场文书
革命英雄事迹演讲稿
2014/09/13 职场文书
违反学校规则制度检讨书
2015/01/01 职场文书
JavaScript实现队列结构过程
2021/12/06 Javascript
python实现会员管理系统
2022/03/18 Python