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 相关文章推荐
extjs 初始化checkboxgroup值的代码
Sep 21 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
Jan 06 Javascript
5款JavaScript代码压缩工具推荐
Jul 07 Javascript
基于jQuery实现下拉框
Nov 24 Javascript
JavaScript中通过prototype属性共享属性和方法的技巧实例
Mar 13 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
使用Bootstrap打造特色进度条效果
May 02 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
Jul 13 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
Nov 09 Javascript
css和js实现弹出登录居中界面完整代码
Nov 26 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
Jul 26 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将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
javascript实现unicode和字符的互相转换
2007/07/18 Javascript
基于jQuery UI CSS Framework开发Widget的经验
2010/08/21 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
使用Node.js为其他程序编写扩展的基本方法
2015/06/23 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
前后端如何实现登录token拦截校验详解
2018/09/03 Javascript
JS闭包原理及其使用场景解析
2020/12/03 Javascript
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
python 日志增量抓取实现方法
2018/04/28 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
python实现XML解析的方法解析
2019/11/16 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
2019/12/03 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
用Python开发app后端有优势吗
2020/06/29 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
html5借用repeating-linear-gradient实现一把刻度尺(ruler)
2019/09/09 HTML / CSS
全球最大的服务市场:Fiverr
2017/01/03 全球购物
遵纪守法演讲稿
2014/05/23 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
廉政文化进校园广播稿
2014/10/20 职场文书
幼儿园见习报告
2014/10/30 职场文书
2015年上半年党建工作总结
2015/03/30 职场文书
主题班会开场白
2015/06/01 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
Python OpenCV之常用滤波器使用详解
2022/04/07 Python