使用Vue.js创建一个时间跟踪的单页应用


Posted in Javascript onNovember 28, 2016

Vue.js很简单。正因为如此简单,人们常常认为其适合于小项目。虽然真正的Vue.js核心知识只是一个视图层库,实际上有一组工具,将使您能够使用Vue.js构建完整的大规模SPA(单页应用程序)。

SPA应用可以在不完全重新加载网页,产生一个更流畅的用户体验到的用户交互响应。还有好的副作用,SPA还鼓励后端专注于展示数据端点,这使得整体架构更加分离,并且对于其他类型的客户端可能是可重用的。

从开发人员的角度来看,SPA和传统的后端呈现应用程序之间的主要区别是,我们必须将客户端视为具有自己架构的应用程序。通常,我们需要处理路由,数据获取和持久性,查看渲染和必要的构建设置,以便于模块化代码库。

对于基于Vue.js的SPA,下面工具将帮助你:

1.视图层:Vue.js

2.路由:vue-router,Vue的官方路由器

3.状态管理:vuex,受Flux/Redux启发的状态管理解决方案

4.服务通讯:vue-resource这是和RESTful后端交互的接口

5.构建工具:Webpack和vue-loader进行模块 热刷新ES2015和预处理器等重要的组件

视图层

本系列假设您已经熟悉Vue.js的基础知识,将Vue.js用于大型SPA时的核心概念是:将应用程序分为许多嵌套的自定义组件。在数据流的组件熟悉props和通讯定义事件直接进行平衡设计,将复杂组件切分为小型解耦的单元,更易于维护。

路由器

官方VUE路由器库处理客户端的路由,同时支持哈希模式和HTML5的历史模式。它与独立路由库有点不同,它与Vue.js深度集成,并假设我们将嵌套路由映射到嵌套Vue组件。

当使用vue-router时,我们将组件作为“pages”实现,使用这些组件能够实现党路由变化时,钩子函数被调用。

状态管理

状态管理是只有当应用程序复杂性超过一定水平时才出现。当有多个组件需要共享可变的应用程序状态时,如果您的应用程序中没有专用于管理此类共享状态的层,则可能很难推理和维护。

服务器通信

在本案例中,我们会使用RESful后端,这是一个Go语言编写的 go-vue-event项目

构建工具

首先,整个编译工具链依靠的Node.js ,管理所有使用库包和工具依赖NPM 。 虽然NPM开始是Node.js后端模块的包管理器,但它现在也广泛用于前端包管理。 因为所有NPM包是使用CommonJS模块格式创建的,我们需要一个特殊的工具将这些模块“捆绑”到适合最终部署的文件中。 Webpack就是这样一个工具,你可能也听说过一个类似的工具Browserify。

我们将使用Webpack的系列,因为它提供了更多的高级功能开箱即用,如热重新加载,bundle-splitting和静态文件处理。

无论WebPACK中和Browserify它们暴露的API,使我们能够装载更多的CommonJS的模块:例如,我们可以直接require()的HTML文件通过将其转化成一个JavaScript字符串。

通过将你的前端的一切,包括HTML,CSS甚至图像文件看作为模块依赖,可以在捆绑过程中任意转换,Webpack实际上涵盖了构建SPA时遇到的大多数构建任务。 我们主要是要使用WebPACK和普通 NPM脚本 ,而不需要 任务运行器如Gulp或Grunt。

使用vue-loader 激活单页中Vue组件:

//app.vue
<template>
<h1 class="red">{{msg}}</h1>
</template>
export default{
data(){
return{
msg:'Hello world!'
}
}
}
<style>
.red{
color:#f00;
}
</style>

WebPACK和vue-loader组合能带来:

1.默认情况下ES2015。 这允许我们今天使用未来的JavaScript语法,产生更具表达性和简洁的代码。

2.预埋处理器 。 您可以在单文件Vue组件中使用预处理器,例如使用Jade作为模板,使用SASS作为样式。

3.Vue组件内部CSS输出将自动加前缀。 您也可以使用任何PostCSS插件,如果你喜欢。

4.作用域CSS。 通过增加一个scoped属性添加到<style> ,VUE-loader将通过重写模板和样式模拟输出,特定组件的范围内的CSS不会影响应用程序的其他部分。

5.热刷新 。在开发过程中编辑Vue组件时,组件将“热切换”到正在运行的应用程序中,在不重新加载页面的情况下维护应用程序状态。 这极大地提高了开发体验。

开始设置

现在有了所有这些花哨的功能,对于自己组装构建栈可能是一个非常艰巨的任务! 幸运的是,Vue公司提供vue-cli ,一个命令行界面,十分容易上手:

npm install -g vue-cli
vue init webpack my-project

回答提示,CLI具有开箱即用特点。 所有你需要做的下一步是:

cd my-project
npm install # install dependencies
npm run dev # start dev server at http://localhost:8080

以上所述是小编给大家介绍的使用Vue.js创建一个时间跟踪的单页应用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Node.js开发指南中的简单实例(mysql版)
Sep 17 Javascript
js实现精美的图片跟随鼠标效果实例
May 16 Javascript
实例代码详解jquery.slides.js
Nov 16 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
Apr 07 Javascript
Vue表单验证插件Vue Validator使用方法详解
Apr 07 Javascript
Bootstrap实现各种进度条样式详解
Apr 13 Javascript
JS作用域链详解
Jun 26 Javascript
JS块级作用域和私有变量实例分析
May 11 Javascript
Vue+Vuex实现自动登录的知识点详解
Mar 04 Javascript
使用eslint和githooks统一前端风格的技巧
Jul 29 Javascript
Node.js path模块,获取文件后缀名操作
Nov 07 Javascript
js拖拽功能实现代码解析
Nov 28 #Javascript
百度搜索框智能提示案例jsonp
Nov 28 #Javascript
JS函数多个参数默认值指定方法分析
Nov 28 #Javascript
ajax级联菜单实现方法实例分析
Nov 28 #Javascript
jQuery select自动选中功能实现方法分析
Nov 28 #Javascript
JS两种类型的表单提交方法实例分析
Nov 28 #Javascript
简单实现JavaScript图片切换效果
Nov 28 #Javascript
You might like
php获取数组长度的方法(有实例)
2013/10/27 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
从刷票了解获得客户端IP的方法
2015/09/21 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
小试SVG之新手小白入门教程
2019/01/08 Javascript
layer设置maxWidth及maxHeight解决方案
2019/07/26 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
Python同时向控制台和文件输出日志logging的方法
2015/05/26 Python
python查看FTP是否能连接成功的方法
2015/07/30 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
高中自我评价范文
2014/01/27 职场文书
百日安全生产活动总结
2014/07/05 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
通知的写法
2015/04/23 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
实习指导老师意见
2015/06/04 职场文书
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技