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_03(ExtJs Grid的简单使用)
Oct 02 Javascript
JavaScript 无符号右移运算符
Apr 17 Javascript
javascript实现面向对象类的功能书写技巧
Mar 07 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
Nov 20 Javascript
jQuery Easyui实现左右布局
Jan 26 Javascript
JavaScript DOM 对象深入了解
Jul 20 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
Aug 25 Javascript
weex slider实现滑动底部导航功能
Aug 28 Javascript
JavaScript模拟实现封装的三种方式及写法区别
Oct 27 Javascript
JS常见构造模式实例对比分析
Aug 27 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
Oct 26 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
Dec 22 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
星际争霸任务指南——神族
2020/03/04 星际争霸
关于PHP5 Session生命周期介绍
2010/03/02 PHP
php 各种应用乱码问题的解决方法
2010/05/09 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
JavaScript中for-in遍历方式示例介绍
2014/02/11 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
详解AngularJS实现表单验证
2015/12/10 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Angular 路由route实例代码
2016/07/12 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
详解微信小程序开发之下拉刷新 上拉加载
2016/11/24 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
bootstrapValidator 重新启用提交按钮的方法
2017/02/20 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
使用watch在微信小程序中实现全局状态共享
2019/06/03 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
Auto.JS实现抖音刷宝等刷视频app,自动点赞,自动滑屏,自动切换视频功能
2020/05/08 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
react中hook介绍以及使用教程
2020/12/11 Javascript
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
Python 3 判断2个字典相同
2019/08/06 Python
python tkinter组件摆放方式详解
2019/09/16 Python
python二维键值数组生成转json的例子
2019/12/06 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
农村文化建设标语
2014/10/07 职场文书
教导处教学工作总结
2015/08/12 职场文书
提档介绍信范文
2015/10/22 职场文书
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL