grunt之入门实践
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之入门实践的更多相关文章
- webpack的入门实践,看这篇就够了
webpack的入门实践 我会将所有的读者概括为初学者,即使你可能有基础,学习本节之前我希望你具有一定的JavaScript和node基础 文中的 ... ...代表省略掉部分代码,和上面的代码相同 ...
- 分布式学习系列【dubbo入门实践】
分布式学习系列[dubbo入门实践] dubbo架构 组成部分:provider,consumer,registry,monitor: provider,consumer注册,订阅类似于消息队列的注册 ...
- sass、less和stylus的安装使用和入门实践
刚 开始的时候,说实话,我很反感使用css预处理器这种新玩意的,因为其中涉及到了编程的东西,私以为很复杂,而且考虑到项目不是一天能够完成的,也很少是 一个人完成的,对于这种团队的项目开发,前端实践用c ...
- Grunt使用入门
Grunt使用入门 (by vczero) 一.前言 项目中一直在使用Grunt,只是对Grunt的基本使用,却未系统的总结过.为什么要构建工具?一句话:自动化.对于需要反复重复的任务,例如压缩(mi ...
- Django入门实践(三)
Django入门实践(三) Django简单应用 前面简单示例说明了views和Template的工作过程,但是Django最核心的是App,涉及到App则会和Model(数据库)打交道.下面举的例子 ...
- Django入门实践(二)
Django入门实践(二) Django模板简单实例 上篇中将html写在了views中,这种混合方式(指Template和views混在一起)不适合大型开发,而且代码不易管理和维护,下面就用Djan ...
- Django入门实践(一)
Django入门实践(一) Django编程思路+入门 认识Django有一个多月了,我觉得学习Django应该先理清它的编程思路.它是典型的MVC框架(在Django里也称MTV),我觉得Djang ...
- 全文搜索引擎Elasticsearch入门实践
全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...
随机推荐
- java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理
XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){ $.post("getXmlA ...
- PHP学习系列(1)——字符串处理函数(3)
11.crc32() 函数计算一个字符串的 crc32 多项式.生成 string 参数的 32 位循环冗余校验码多项式.该函数可用于验证数据的完整性. 语法:crc32(string) 注意:由于 ...
- 使用Statement执行sql语句
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java ...
- BufferedReader
Reader FileReader BufferedReader package file; import java.io.BufferedReader; import java.io.File; i ...
- C# 文件读写异常“正由另一进程使用,因此该进程无法访问该文件”
最近在对文件进行读写操作时,利用using的方法可还是遇到了异常"文件正由另一进程使用,因此该进程无法访问该文件": public bool WriteUserInfo(strin ...
- DotNET知识点总结三(笔记整合)
使用接口的注意事项: 接口中的成员不能加访问修饰符 接口中的成员不能有任何实现 实现接口的子类必须实现接口的全部成员 一个类可以同时继承一个类并实现多个接口,如果一个子类同时继承了父类A,并实现了接口 ...
- GPIO的8种模式详解
和stm32的GPIO相关的寄存器有 (1)两个32位的配置寄存器(GPIOX_CRL,GPIOX_CRH) 每一个IO占用4位,16个IO占用64位就是两个32为寄存器. 其中CNF[1:0]是用来 ...
- C++ 单向链表反转
单向链表反转,一道常见的面试题,动手实现下. #include "stdafx.h" #include <stdlib.h> struct Node{ int data ...
- xcode安装
Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x ...
- NOI2010 航空管制
http://www.lydsy.com/JudgeOnline/problem.php?id=2535 贪心. 对于第1个问,我们先建立拓扑图,对于如果a必须在b前起飞,那么连有向边b->a, ...