JavaScript 项目构建工具 Grunt 实践:安装和创建项目框架

标签: javascript 项目 工具 | 发表时间:2013-01-24 10:15 | 作者:梦想天空(山边小溪)
出处:http://www.cnblogs.com/

    Grunt 是一个基于任务的 JavaScript 项目命令行构建工具,运行于 Node.js 平台。Grunt 能够从模板快速创建项目,合并、压缩和校验 CSS & JS 文件,运行单元测试以及启动静态服务器。

 

  

 

安装 Grunt

  推荐 Windows 用户使用 Git Shell 来进行命令行操作。安装 Windows 桌面版 GitHub 的时候会自动安装 Git Shell。

  GitHub for Windows 下载地址: http://windows.github.com

  Grunt 运行于 Node.js 环境,这里假设你已经安装了 Node.js 和 NPM。

npm install grunt

  为了便于操作,可以使用参数 -g 配置为全局安装:

npm install -g grunt

  

创建项目框架

  安装好 Grunt 后就可以开始创建项目了,Grunt 内置下面四种基本的项目模板:

   gruntfile,创建命令:

grunt init:gruntfile

   commonjs,创建命令:

grunt init:commonjs

   jquery,创建命令:

grunt init:jquery

   node,创建命令:

grunt init:node

  我们今天创建的是 jQuery 项目,编写一个 jQuery 插件示例。现在 GitHub 创建好示例仓库 GruntDemo,然后使用桌面版工具克隆到本地,在 Git Shell 中进入仓库目录,再输入 grunt init:jquery 命令进行创建,如果当前位置已存在项目,可能会有如下提示:

  

  如果需要覆盖,这个时候需要使用 --forece 参数:

grunt init:jquery --force

  创建项目时,需要填写一些项目的基本信息,例如项目名称、描述、仓库地址、作者信息(后面几项有默认内容)等,如图示:

  

  OK,到这里项目就创建成功了!下面是项目的目录结构:

  

  并且 README.md 文件的内容和格式也生成好了:

  

  然后就可以编写插件代码了。Grunt 提供的 jQuery 插件代码框架如下:

/*
* GruntDemo
* https://github.com/bluesky/grunt-demo
*
* Copyright (c) 2013 BlueSky
* Licensed under the MIT license.
*/

(function($) {

// Collection method.
$.fn.awesome = function() {
return this.each(function() {
$(this).html('awesome');
});
};

// Static method.
$.awesome = function() {
return 'awesome';
};

// Custom selector.
$.expr[':'].awesome = function(elem) {
return elem.textContent.indexOf('awesome') >= 0;
};

}(jQuery));

  同时还生成了相应的 Qunit 测试代码和页面:

/*global QUnit:false, module:false, test:false, asyncTest:false, expect:false*/
/*global start:false, stop:false ok:false, equal:false, notEqual:false, deepEqual:false*/
/*global notDeepEqual:false, strictEqual:false, notStrictEqual:false, raises:false*/
(function($) {

module('jQuery#awesome', {
setup: function() {
this.elems = $('#qunit-fixture').children();
}
});

test('is chainable', 1, function() {
// Not a bad test to run on collection methods.
strictEqual(this.elems.awesome(), this.elems, 'should be chaninable');
});

test('is awesome', 1, function() {
strictEqual(this.elems.awesome().text(), 'awesomeawesomeawesome', 'should be thoroughly awesome');
});

module('jQuery.awesome');

test('is awesome', 1, function() {
strictEqual($.awesome(), 'awesome', 'should be thoroughly awesome');
});

module(':awesome selector', {
setup: function() {
this.elems = $('#qunit-fixture').children();
}
});

test('is awesome', 1, function() {
// Use deepEqual & .get() when comparing jQuery objects.
deepEqual(this.elems.filter(':awesome').get(), this.elems.last().get(), 'knows awesome when it sees it');
});

}(jQuery));

  

  下篇预告:《JavaScript 项目构建工具 Grunt 实践:任务和指令》,敬请期待……

您可能感兴趣的相关文章

 

本文链接: JavaScript 项目构建工具 Grunt 实践:简介和安装

编译来源: 梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源

hide

本文链接

相关 [javascript 项目 工具] 推荐:

JavaScript 项目构建工具 Grunt 实践:安装和创建项目框架

- - 博客园_首页
Grunt 是一个基于任务的. JavaScript 项目命令行构建工具,运行于 Node.js 平台. Grunt 能够从模板快速创建项目,合并、压缩和校验 CSS & JS 文件,运行单元测试以及启动静态服务器.   推荐 Windows 用户使用 Git Shell 来进行命令行操作. 安装 Windows 桌面版 GitHub 的时候会自动安装 Git Shell.

JavaScript基础工具清单

- - 博客 - 伯乐在线
在训练营中,我们给学员介绍了一些工具和库,以扩大其代码的能力. 目前有位JavaScript学员Kalina,他汇总了这些工具的清单,想分享给其他的代码爱好者. Ivan Storck,我们JavaScript训练营的辅导员,利用Kalina的清单,画了一张有帮助的思维导图:. 脚手架工具(用于启动项目).

GitHub 上周 JavaScript 趋势榜项目

- - SegmentFault 最新的文章
项目地址: https://github.com/yemount/pose-animator. Pose Animator拍摄2D矢量图,并基于PoseNet和FaceMesh的识别结果实时对其包含的曲线进行动画处理. 它从计算机图形学中借鉴了基于骨骼的动画的思想,并将其应用于矢量字符. 项目地址: https://github.com/renrenio/renren-fast-vue.

15款很棒的 JavaScript 开发工具

- jiwei - cnBeta.COM
在开发中,借助得力的工具可以事半功倍. 今天,这篇文章向大家分享最新收集的15款非常有用的 JavaScript 开发工具.

JavaScript最佳开发工具集合

- MAGI-CASPER/Peter Pan - 伯乐在线 -博客
  注:此文由敏捷翻译 - 关关编译自 Joe Stagner 近日分享的博文. 本文只是JavaScript的工具集合,如需书籍资源,《你得学JavaScript》这篇文章已有推荐.   我最近做了很多客户端OG开发,也计划做更多. HTML5、JavaScript 和 CSS.   我正在做一个工作计时器,所以我在寻找一个JS测试框架,故我自己给不同的JavaScript工具做了一个列表.

Groundwork:响应式 HTML5,CSS & JavaScript 工具包

- - 博客园_梦想天空
  Groundwork 是基于强大的 CSS 预处理器 Sass & Compass 的响应式 HTML5,CSS & JavaScript 工具包. 使用 Groundwork,您可以快速构建 Web 应用程序. Groundwork 拥有一个令人难以置信的灵活,可嵌套,流体的网格系统,是 Github 上的开源项目.

Excel项目管理工具

- - CSDN博客研发管理推荐文章
版权所有,转载请注明出处: http://guangboo.org/2013/10/27/excel-project-management. Excel强大的表格功能在项目管理中同样具有大用处,作者通过在实践中实际运用Excel进行项目管理的经验,简单介绍Excel在项目管理中的应用. 本文主要介绍Excel如何做项目计划和项目进度跟踪,项目计划和项目跟踪是项目周期中最重要的环节,无论是几个月的小项目,还是几年的大项目,计划和进度始终是保证项目正常推进、按时交付的重要手段.

BrowserSwarm:开发者兼容测试利器,节省JavaScript项目的测试时间

- - IE浏览器中文网站
今天,我们联合 appendTo 和 Sauce Labs 共同发布了 BrowserSwarm – 这是一个开源工具,可以帮助 Web 开发人员跨设备和浏览器自动测试其 JavaScript 框架和库. 质量框架是现代 Web 的基础,但框架开发人员通常没有合适的资源来执行跨浏览器测试. BrowserSwarm 可以帮助开发人员构建可互操作的优秀框架.

分享15款很棒的 JavaScript 开发工具

- xxg - 博客园-首页原创精华区
  在开发中,借助得力的工具可以事半功倍. 今天,这篇文章向大家分享最新收集的15款非常有用的 JavaScript 开发工具. TestSwarm是Mozilla实验室推出的一个开源项目,它旨在为开发者提供在多个浏览器版本上快速轻松测试自己JavaScript代码的方法. 在网络上,速度是很重要的,Minimee能帮助你将CSS和JavaScript文件进行自动压缩和打包.