摘要:Karma 是 Goolge 开源的一个 Test runner, 可以配合 Grunt 使用。
阅读全文
摘要:前端开发的主力语言是 JavaScript,这是一种脚本语言,没有编译器,也就没有了编译器带给我们的语法检查,怎样保证代码的质量呢?jshint 是一个强大的工具。
阅读全文
摘要:在 Visual Studio 2015 中提供了对于 Grunt 和 Gulp 的内置支持,在 Visual Studio 2013 中怎么办呢?微软将 2015 中的特性作为几个独立的扩展发布出来,你可以在 Visual Studio 2013 中同样使用这个特性。
实际上,你需要三个 Visual Studio 扩展。
阅读全文
摘要:可以找到许多的解读,但是原文总是最重要的,也是最正宗的说明,直接访问 RequireJS 有时不太方便,这里将 RequireJS 2.0 API 的原文转载到博客园,方便查看。
阅读全文
摘要:Grunt 通过内建的 node-glob 和 minimatch 库提供了文件名的扩展机制。
阅读全文
摘要:在前端开发过程中,我们需要在开发过程中,将开发中的站点部署到服务器上,然后,在浏览器中查看实际的效果,在 Grunt 环境下,可以直接使用集成在 Grunt 中的 Connect 插件完成站点服务器的支持,在开发过程中,直接查看效果。
阅读全文
摘要:Web 前端开发涉及多种工具,这里将常用工具的安装和配置进行说明,提供了详细的说明,为后继的开发创建一个坚实的基础。
本文介绍的工具有:NodeJS, NPM, Bower, Git 和 Grunt。
阅读全文
摘要:Jasmine 为 JavaScript 提供了 TDD (测试驱动开发)的框架,对于前端软件开发提供了良好的质量保证。
目前,Jasmine 的最新版本是 2.3 版,这里以 2.3 版进行说明。网上已经有一些关于 Jasmine 的资料,但是,有些资料比较久远,已经与现有版本不一致。所以,这里特别以最新版进行说明。
阅读全文
摘要:对于日常的开发来说,最常见的开发场景就是通过表单编辑数据,这里涉及的问题就是验证问题。
angularjs 内置已经支持了常见的验证方式,可以轻松实现表单验证。
阅读全文
摘要:观察者模式是开发中经常使用的模式,这个模式由两个主要部分组成:主题和观察者。通过观察者模式,实现主题和观察者的解耦。主题负责发布内容,而观察者则接收主题发布的内容。通常情况下,观察者都是多个,所以,我们需要一个集合来保存所有的观察者,在主题发布内容之后,依次将主题发布的内容提供给观察者,从程序的角度...
阅读全文
摘要:在 js 开发中,由于没有多线程,经常会遇到回调这个概念,比如说,在 ready 函数中注册回调函数,注册元素的事件处理等等。在比较复杂的场景下,当一个事件发生的时候,可能需要同时执行多个回调方法,可以直接考虑到的实现就是实现一个队列,将所有事件触发时需要回调的函数都加入到这个队列中保存起来,当事件...
阅读全文
摘要:每当看到前端程序员在脚本、样式、表单处理逻辑中苦苦挣扎的时候,我就在想,为什么不用Angular Js 呢?Angular Js 支持页面前端的 MVC 模式开发,在 Angular JS 的支持下,我们可以将页面前端处理的数据与页面展示进行分离,实现优雅的代码结构。首先,我们需要到 Angular...
阅读全文
摘要:原文地址:http://expressjs.com/migrating-4.html概览从 Express 3 到Express 4 是一个巨大的变化,这意味着现存的 Express 3 应用在不更新依赖的情况下将不能工作。这篇文章涵盖一下内容:Express 4 中的变化一个从 Express 3...
阅读全文
摘要:使用 Mongo 可以将你的 node.js 数据持久保存到时髦的数据库中。
阅读全文
摘要:考虑一下,你用了多少行 node.js 代码可以实现一个 API 服务?
包括空行也只有 20 行而已。
阅读全文
摘要:千里之行,始于足下。要学习 Node.Js, 首先要配置好运行环境。
阅读全文
摘要:通过指令机制,angularjs 提供了一个强大的扩展系统,我们可以通过自定义指令来扩展自己的指令系统。怎样定义自己的指令呢?我们通过 Bootstrap UI 来学习吧。这个项目使用 angularjs 将 Bootstrap 3 进行了封装,是我们学习 angularjs 很好的样例。从 Ale...
阅读全文
摘要:在使用 typeahead 的时候,有这样一个需求,当用户选中其中一项的之后,将项目对应的 id 保存到另外一个变量中,以后在提交表单的时候,将这个 id 发送到服务器中。
但是,在 typeahead 中对于元素的操作,angularjs 没有感知到,导致不能获取最新的数据。
通过自定义 angularjs 的指令,封装 typeahead 实现数据的感知。
阅读全文
摘要:上次介绍了 Bootstrap 2 中附带的 typeahead,功能强大,但是使用起来不太方便,作者 Terry Rosen 已经升级了一个新版本 v1.2.2,作出了很大的改进。下载地址https://github.com/tcrosen/twitter-bootstrap-typeahead使用环境Twitter Bootstrap 2.0+jQuery 1.7+页面准备脚本$(myElement).typeahead(options);事件事件说明grepperFilters relevant results from the source.highlighterHighlights
阅读全文
摘要:UtilitiesKnockout 提供了许多可以你开发中使用的工具,你可以在 ko.utils 命名空间中找到它们,我最喜欢的工具如下所示:extend: 这个方法将两个对象合并在一起,调用这个方法之后,会将第二个对象的所有属性,方法合并到第一个对象上。unwrapObservable: 这个方法获取一个属性作为参数,然后返回它的值。比如 Knockout 的 Observable 属性,或者一个简单的属性。这个函数在你希望在运行时获取对象的实际值得时候很有用。所有的数组工具:Knockout 提供了许多对于数据操作的工具,允许你过滤,映射,或者删除其中的项目。我经常在项目开始的时候,将这些
阅读全文