grunt 是基于nodejs的前端项目管理工具,凭借着大量优秀的插件从众多前端项目管理工具中脱颖而出。

确保先安装了nodejs

为了方便使用Grunt,应该在全局范围内安装Grunt的命令行接口(CLI)。
npm install -g grunt-cli
这条命令将会把grunt命令植入到你的系统路径中,这样就允许你从任意目录来运行它(定位到任意目录运行grunt命令)。

注意,安装grunt-cli
并不等于安装了grunt任务运行器,需另外安装grunt;     npm install -g grunt

一个简单的grunt实践:
1.进入到指定项目的根目录,一般需要在你的项目中添加两份文件:package.json 和 Gruntfile.js。(Node.js的版本>=0.8.0 ,两个文件具体内容看需求)

2.运行npm install安装项目相关依赖Grunt插件(默认会安装 package.json里面的所有依赖插件)。
3.使用grunt(命令)运行Grunt相关任务。

一个简单的压缩合并操作:

Gruntfile.js:

 module.exports = function(grunt) {
// 配置 设置gbk编码:grunt.file.defaultEncoding = 'gbk'; //utf8
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
concat : {//合并任务
domop : {//目标
src: ['src/jquery.baza.dropSelect.js', 'src/jquery.baza.resumeTag.js'],
dest: 'dest/domop.js'
},
css : {//目标 src: ['src/css/*.css'],
dest: 'dest/css/all.css'
}
},
uglify : {
options : {
banner : '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build : {
src : 'dest/domop.js',
dest : 'dest/domop.min.js'
}
},
cssmin: {
css: {
src: 'dest/css/all.css',
dest: 'dest/css/all-min.css'
}
}, jshint:{
hint:{
src:['js/test.js']
}
} });
// 载入concat和uglify和css插件,分别对于合并和压缩
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify'); grunt.loadNpmTasks('grunt-css'); grunt.loadNpmTasks('grunt-contrib-jshint'); // 注册任务
grunt.registerTask('default', ['concat', 'uglify','cssmin','jshint']);
};

如果只想执行对应任务的目标可以在注册任务的时候指定对应目标即可 :

grunt.registerTask('concat', ['concat:domop']); //该任务只执行concat任务中的domop目标

对应的package.json:

 {
"name": "test1",
"version": "0.1.0",
"author": "bossliu",
"homepage": "###",
"devDependencies": {
"grunt": "~0.4.0",
"grunt-contrib-jshint": "*",
"jshint": "^2.5.0",
"grunt-contrib-uglify": "~0.1.2",
"grunt-contrib-concat": "~0.1.1",
"grunt-css": ">0.0.0"
}
}

详细文档可查看grunt中文社区:http://www.gruntjs.org/docs/getting-started.html

grunt之入门实践的更多相关文章

  1. webpack的入门实践,看这篇就够了

    webpack的入门实践 我会将所有的读者概括为初学者,即使你可能有基础,学习本节之前我希望你具有一定的JavaScript和node基础 文中的 ... ...代表省略掉部分代码,和上面的代码相同 ...

  2. 分布式学习系列【dubbo入门实践】

    分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...

  3. sass、less和stylus的安装使用和入门实践

    刚 开始的时候,说实话,我很反感使用css预处理器这种新玩意的,因为其中涉及到了编程的东西,私以为很复杂,而且考虑到项目不是一天能够完成的,也很少是 一个人完成的,对于这种团队的项目开发,前端实践用c ...

  4. Grunt使用入门

    Grunt使用入门 (by vczero) 一.前言 项目中一直在使用Grunt,只是对Grunt的基本使用,却未系统的总结过.为什么要构建工具?一句话:自动化.对于需要反复重复的任务,例如压缩(mi ...

  5. Django入门实践(三)

    Django入门实践(三) Django简单应用 前面简单示例说明了views和Template的工作过程,但是Django最核心的是App,涉及到App则会和Model(数据库)打交道.下面举的例子 ...

  6. Django入门实践(二)

    Django入门实践(二) Django模板简单实例 上篇中将html写在了views中,这种混合方式(指Template和views混在一起)不适合大型开发,而且代码不易管理和维护,下面就用Djan ...

  7. Django入门实践(一)

    Django入门实践(一) Django编程思路+入门 认识Django有一个多月了,我觉得学习Django应该先理清它的编程思路.它是典型的MVC框架(在Django里也称MTV),我觉得Djang ...

  8. 全文搜索引擎Elasticsearch入门实践

    全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...

  9. 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World

    操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...

随机推荐

  1. bat 小工具

    @echo ************************************************************************:start@echo offset /p ...

  2. Axure自动幻灯片制作

    1.打开axure7,开始. 2.拖一个占位符组件到布局上(当然也可以是矩形.图片之类的),大小270*170,作为幻灯片的第一张片子,双击写上“第一张片子”. 3.拖一个矩形,设置形状为椭圆,调整大 ...

  3. How To Learn English Very Fast

    How do you learn English very fast? Every week, I get emails about this topic.   Typically, someone ...

  4. IEnumerable中的 Any方法

    IEnumerable类中的 Any方法,表示集合中有任何一元素满足条件,返回就true , 该方法有两个重载 1. 不带任何参数,表示集合中有元素 2. 参入一个 Func<TSource, ...

  5. php 数组操作类(整合 给意见)

    数组操作函数整理: /* 将一个二维数组按照指定字段的值分组 * * @param array $arr * @param string $keyField * * @return array */ ...

  6. 解决VS2013中“This function or variable may be unsafe”的问题

    1.在VS2013中编译代码时出现如上错误信息,下面就介绍下如何解决This function or variable may be unsafe的问题. 2.用VS2013打开出现错误的代码文件 3 ...

  7. awk的思维导图

  8. [SQL注入3]from_sqli_to_shell_II

    [SQL注入1]这关学习盲注 ,这篇还有些东西没理透,后面搞明白了再修改. http://www.pentesterlab.com/exercises/from_sqli_to_shell_II/ 准 ...

  9. win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装

    win8.1(64位) apache2.4.3+php5.6.3+mysql5.6安装 http://blog.csdn.net/jiangzeyun/article/details/41676639

  10. 包含无数好东西的ownCloud

    ownCloud 是一个来自 KDE 社区开发的免费软件,提供私人的 Web 服务.当前主要功能包括文件管理(内建文件分享).音乐.日历.联系人等等,可在PC和服务器上运行. 简单来说就是一个基于Ph ...