LiJiaHao' Blog

计算机爱好者的世界

Vue.js自定义指令开发笔记

本文将对如何在Vue.js 1.0及2.0上进行自定义指令开发进行介绍

Vue.js指令在官方文档中描述比较简单,对Vue.js指令不太了解的话如果需要写一个自定义指令往往不知道从何下手,最近跟着项目从Vue.js 1.0升级至2.0,之间也开发了几个1.0和2.0的自定义指令,对自定义指令开发有了粗浅的认识,本文将以一个具体的表单验证指令来学习如何开发一个自定义指令,同时了解vue.js 1.0和2.0的自定义指令的差异。 指令需求明确 本文将以一个具体的...

JSON Web Token概述

本文将介绍在前后端架构环境下使用token机制防御CSRF攻击,了解JSON Web Token的构成。

概述 在前后端分离架构环境下,后端服务器以API接口的形式向前端提供服务,按照RESTful API的设计规范,后端数据API应该是无状态的(stateless),这也就意味着没有登录、注销方法,也没有session,同样的,后端API也不能依赖cookie,因为依赖cookie将不能保证每次request是由用户自己发出的,也就有CSRF的风险,因此针对某些隐秘内容的API,需要进行用户...

RESTful API的前后端分离实现

还在为充满各类模板语言的前端代码困扰吗,试试基于RESTful API的前后端分离吧!

在配合后端进行页面开发时,在非MVC时代,页面配合后端数据通常采用的是后端模板(如smarty、jinja等)+前端html进行开发,例如以下代码 也就是采用的是前后端耦合的方式将后端数据渲染出来,这样的方式使得前端页面代码可读性差,在后端数据发生结构变化时,前端还得配合后端数据模板进行修改。使得页面的可维护性大大下降、开发效率下降,个人不是很喜欢这样的开发模式,相比之下,使用REST...

Base64编码规则

本文将简单介绍Base64的编码实现

网络信息传递时,一些二进制资源往往需要转换为Base64编码进行传输,以提高传输效率,例如webpack提供了将图片格式文件转换为Base64格式,下面将简单介绍Base64编码的原理和实现过程。 Base64编码原理 Base64是一种基于64个可打印字符来表示二进制数据的表示方法。base64要求将每三个8bits字节转换为四个6bit的字节(3 * 8 = 4 * 6 = 24),然...

VueFire-当Firebase遇上Vue.js

VueFire为Vue.js和Firebase搭好桥梁

在上一篇文章里,我介绍了Firebase的一些基本用法,通过Firebase提供的API,我们可以轻松的从Firebase数据库中读取、修改数据。但是原生API需要通过种种繁杂的on()、child语法获取信息,如果有一个中间件为专注于数据的MVVM框架提供语法糖以及自动绑定数据监听数据,那么开发效率必定会有一个更高的提升。在当前较为流行的MVVM框架中,目前Firebase只为Angula...

Firebase使用初探

使用Firebase做为web APP的实时数据平台

如今许多APP应用都有跨平台客户端,例如微信、evernote等,这些应用有IOS、Android和web客户端,当同一个应用同一个账户在不同的客户端同时登陆时,如果其中一个客户端发生数据变化,那么另一个客户端的数据也会同时发生变化,使用Firebase平台可将这类响应轻松实现,下面将从web端通过javascript操作Firebase来实现简单的数据响应。 本文在线demo 实例Fi...

vue.js+webpack模块管理及组件开发(二)

项目开发所需模块以及通过npm下载后,就可以进一步配置webpack并进行模块开发了

在上一篇博客中已经配置好package.json文件并通过npm安装了项目开发的依赖,接下来就需要配置webpack,通过webpack来对项目中的静态资源(样式文件、脚本、图片等)进行打包,并实现一系列的自动化构建,使开发更加便捷。 webpack配置 这里还是使用上一篇博客中提到的项目目录,在./build文件夹下有三个文件webpack.base.config.js、webpack....

vue.js+webpack模块管理及组件开发(一)

组件化开发是前端的发展趋势,从当前最流行的模块管理工具及MVVM开发框架学习新的开发模式

这两年,Angular、React、Vue等MV**开发框架可谓红遍了整个前端领域,在web app领域得到了更加广泛的应用,同时,配合webpack、Browserify等模块打包管理工具,开发效率也得以大大提升,前段时间也利用闲暇时间从零摸索了Vue.js和webpack的配合使用,学习web app组件开发模式,在这里写成文章整理一下思路。 本文涉及到的技术栈主要包括: ...

原生JavaScript插件编写指南

不依赖jQuery等库编写原生JavaScript插件

在jQuery大量使用的环境下,目前网上的众多jQuery插件也能基本满足要求,但是在项目具体需求下,有时候依旧需要自己造轮子,本文介绍了如何不依赖jQuery等库进行原生JavsScript插件的编写。 插件需要满足的条件 一个可复用的插件需要满足以下条件: 插件自身的作用域与用户当前的作用域相互独立,也就是插件内部的私有变量不能影响使用者的环境变量; 插件需具备默认设置参数...

JavaScript中的数据结构——队列(Queue)

队列在JavaScript中的实现和原理

队列(queue),与栈(stack)类似,也是一种线性结构,操作与栈类似,但与栈不同的是,队列使用的是先进先出(FIFO)的操作方式,队列的操作和生活中的排队一样,排队的队伍中,先到的在队伍前排的会先处理,后来排队的后处理,一张图表示如下: 队列的操作 队列的操作和栈非常类似,根据栈的操作,这里定义三个队列操作: 1.size(): 队列长度 2.enqueue(data): 添...