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中的isXX系列是否继续使用的分析
Apr 16 Javascript
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
Dec 31 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
Jun 11 Javascript
js中string和number类型互转换技巧(分享)
Nov 28 Javascript
Ajax跨域实现代码(后台jsp)
Jan 21 Javascript
Vue2.0利用 v-model 实现组件props双向绑定的优美解决方案
Mar 13 Javascript
JS中的数组转变成JSON格式字符串的方法
May 09 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
iView-admin 动态路由问题的解决方法
Oct 03 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 Javascript
使用PDF.js渲染canvas实现预览pdf的效果示例
Apr 17 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 多个变量指向同一个引用($b = &$a)用法分析
2019/11/13 PHP
PHP sdk文档处理常用代码示例解析
2020/12/09 PHP
jquery 单击li防止重复加载的实现代码
2010/12/24 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
js截取固定长度的中英文字符的简单实例
2013/11/22 Javascript
JavaScript代码编写中各种各样的坑和填坑方法
2014/06/06 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
AngularJS中transclude用法详解
2016/11/03 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
react-native中ListView组件点击跳转的方法示例
2017/09/30 Javascript
AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例
2018/04/21 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python 判断图像是否读取成功的方法
2019/01/26 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
2019/07/01 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
让IE下支持Html5的placeholder属性的插件
2014/09/02 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
团日活动策划书
2014/02/01 职场文书
五一手机促销方案
2014/03/08 职场文书
公司授权委托书范本
2014/04/03 职场文书
运动会加油口号
2014/06/07 职场文书
幼儿园端午节活动方案
2014/08/25 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
作文评语集锦
2014/12/25 职场文书
工程项目合作意向书
2015/05/08 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
Apache自带的ab压力测试工具的实现
2022/07/23 Servers
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技