LiJiaHao' Blog

计算机爱好者的世界

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): 添...

JavaScript中的数据结构——栈(Stack)

栈在JavaScript中的实现和原理

栈(stack),也称堆栈,在计算机科学领域中,栈是一种线性数据结构,它只能在数据串列或阵列的一端进行入栈(push)和出栈(pop)操作,按照后进先出(LIFO)原理进行运作,一张图表示栈的工作如图1: 下面将使用JavaScript实现这一数据结构。 栈的操作 根据栈的工作方式,我们定义栈的两个操作: 1.push(data):加入数据,也称入栈。 2.pop():将最近加入...

JavaScript 闭包(一)

最近对JavaScript中的闭包做了一些深入的了解,目前的对闭包的理解也只能算是一知半解,现结合目前看过的资料,对闭包做一个初步的总结。 什么是闭包(Closures) 闭包是指有权访问另一个函数作用域中的变量的函数。 在函数的实际使用过程中,当函数被调用时,会创建函数执行环境及其作用域链,然后会根据arguments和其他命名参数初始化形成活动对象(AO)。这个执行环境仅在函数调用时...