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 TextBox自动完成条
Jul 22 Javascript
jQuery实现跟随鼠标运动图层效果的方法
Feb 02 Javascript
EasyUI中combobox默认值注意事项
Mar 01 Javascript
Node.js 应用跑得更快 10 个技巧
Apr 03 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
原生JS和jQuery操作DOM对比总结
Jan 19 Javascript
Extjs表单输入框异步校验的插件实现方法
Mar 20 Javascript
JS实现两周内自动登录功能
Mar 23 Javascript
解析Vue2 dist 目录下各个文件的区别
Nov 22 Javascript
Vue.js中的extend绑定节点并显示的方法
Jun 20 Javascript
js计算最大公约数和最小公倍数代码实例
Sep 11 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
Oct 11 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目录导航文件代码
2006/10/09 PHP
php 结果集的分页实现代码
2009/03/10 PHP
PHP Session机制简介及用法
2014/08/19 PHP
php遍历替换目录下文件指定内容的方法
2016/11/10 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
php实现数字补零的方法总结
2018/09/12 PHP
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
vue滑动吸顶及锚点定位的示例代码
2020/05/10 Javascript
基于js实现数组相邻元素上移下移
2020/05/19 Javascript
[38:41]2014 DOTA2国际邀请赛中国区预选赛 LGD VS CNB
2014/05/22 DOTA
[01:03:00]DOTA2上海特级锦标赛A组败者赛 EHOME VS CDEC第一局
2016/02/25 DOTA
python 创建弹出式菜单的实现代码
2017/07/11 Python
使用Python读取大文件的方法
2018/02/11 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
Python2比较当前图片跟图库哪个图片相似的方法示例
2019/09/28 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
在tensorflow中实现去除不足一个batch的数据
2020/01/20 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
python 写函数在一定条件下需要调用自身时的写法说明
2020/06/01 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
感谢信怎么写
2015/01/21 职场文书
结婚幸福感言
2015/08/01 职场文书
基于python实现银行管理系统
2021/04/20 Python
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers