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 相关文章推荐
asp.net+jquery滚动滚动条加载数据的下拉控件
Jun 25 Javascript
关于flash遮盖div浮动层的解决方法
Jul 17 Javascript
jquery 操作css样式、位置、尺寸方法汇总
Nov 28 Javascript
jQuery实现“扫码阅读”功能
Jan 21 Javascript
JavaScript 变量、作用域及内存
Apr 08 Javascript
jQuery文字横向滚动效果的实现代码
May 31 Javascript
js 数字、字符串、布尔值的转换方法(必看)
Apr 07 Javascript
详解原生JS回到顶部
Mar 25 Javascript
微信小程序图表插件wx-charts用法实例详解
May 20 Javascript
layui table设置某一行的字体颜色方法
Sep 05 Javascript
JS实现动态无缝轮播
Jan 11 Javascript
vue 动态创建组件的两种方法
Dec 31 Vue.js
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
关于Appserv无法打开localhost问题的解决方法
2009/10/16 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
解决php接收shell返回的结果中文乱码问题
2014/01/23 PHP
PHP封装分页函数实现文本分页和数字分页
2014/10/23 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
js实现iframe动态调整高度的代码
2008/01/06 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
抛弃Nginx使用nodejs做反向代理服务器
2014/07/17 NodeJs
详解JavaScript中void语句的使用
2015/06/04 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
2016/06/28 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
jQuery实现模糊查询的方法分析
2018/05/10 jQuery
angular实现input输入监听的示例
2018/08/31 Javascript
微信小程序简单的canvas裁剪图片功能详解
2019/07/12 Javascript
[01:23]2014DOTA2国际邀请赛 球迷无处不在Ti现场世界杯受关注
2014/07/10 DOTA
[58:32]EG vs Liquid 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
50行Python代码实现人脸检测功能
2018/01/23 Python
Python callable()函数用法实例分析
2018/03/17 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2018/05/24 Python
python 正确保留多位小数的实例
2018/07/16 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
python如何从文件读取数据及解析
2019/09/19 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
申请任职学生会干部自荐书范文
2014/02/13 职场文书
补充协议书范本
2014/04/23 职场文书
希特勒的演讲稿
2014/05/23 职场文书
春游踏青活动方案
2014/08/14 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
go 原生http web 服务跨域restful api的写法介绍
2021/04/27 Golang
python正则表达式re.search()的基本使用教程
2021/05/21 Python
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers