简介:Grunt是基于Node.js的项目构建工具,对于需要重复执行的任务,例如压缩、编译、单元测试等,自动化工具可以减少你的工作量,使你的工作更轻松。

一:检测nodejs是否安装好,打开CMD控制器

出现以上情况,表示已经安装好了

二:Grunt安装

首先确保你已经正确安装了nodejs环境。
1.找到要使用Grunt的项目文件包

2.然后以全局方式安装Grunt:

npm install -g grunt-cli

3.package.json文件

(1种).npm init命令会创建

(2种).直接在项目包的根目录下建一个package.json文件

4.安装插件

(1中).单个插件的添加,如安装grunt插件

npm install grunt --save-dev

项目包结构

(2种),多个插件的添加

向已经存在的package.json 文件中添加插件的最简单方式是通过npm install <module> --save-dev命令。此命令不光安装了<module>,还会自动将其添加到devDependencies 配置段中,遵循tilde version range格式。

npm install  --save-dev

运行完后的项目包结构

5.直接在项目包的根目录下建一个Gruntfile.js文件

代码如下:

 module.exports = function(grunt) {

     // Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
//uglify列表
uglify: {//压缩js文件
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
js: {
src: ['js/test.js','js/test2.js'],
dest: 'js/all.min.js'
}
},
//cssmin列表
cssmin: {//压缩css文件
target: {
files: [{
expand: true,
cwd: 'css',
src: ['*.css', '!*.min.css'], //路径,压缩所有的css
dest: 'css',
ext: '.min.css'
}]
}
},
//concat列表
concat: {
//合并文件
options: {
//文件内容的分隔符
//separator: ';',
},
//js文件
js: {
//要合并的js文件
src: ['js/test.js','js/test2.js'],
//合并后的js文件
dest: 'js/all.js'
},
//css文件
css:{
src: ['css/index.css','css/my.css'],
dest: 'css/all.css'
}
},
//sprite列表
sprite:{ //雪碧图
all: {
src: 'spriteImages/*.jpg', //选择要压缩的文件
dest: 'images/page1-img.jpg', //图片压缩后,图片存放的位置
destCss: 'css/page1-img.css' //图片压缩后,css存放的位置
}
} }); // 加载包含 "uglify" 任务的插件。
grunt.loadNpmTasks('grunt-contrib-uglify');//用于js压缩。
grunt.loadNpmTasks('grunt-contrib-cssmin'); //用于css压缩。
grunt.loadNpmTasks('grunt-contrib-concat'); //合并任意文件
grunt.loadNpmTasks('grunt-spritesmith');//雪碧图 // 默认被执行的任务列表。
grunt.registerTask('default', ['uglify','cssmin','concat','sprite']); };

6.构建好后,运行grunt

运行后的效果图

Grunt自动化构建工具(网址:http://www.gruntjs.net/getting-started或者http://gruntjs.cn/getting-started)的更多相关文章

  1. grunt自动化构建工具

    一.什么是grunt? 是基于nodejs的项目构建工具,grunt和grunt插件是通过npm安装并管理的,npm是node.js的包管理器 二.为什么要用grunt? 自动化.对于反复重复的任务, ...

  2. NPM、nodeJS安装,grunt自动化构建工具学习总结

    一:安装 npm是随nodeJs安装包一起安装的包管理工具,能解决NodeJS代码部署上的很多问题: 常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从N ...

  3. 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  4. JavaScript自动化构建工具grunt、gulp、webpack介绍

    前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...

  5. JavaScript自动化构建工具入门----grunt、gulp、webpack

    蛮荒时代的程序员: 做项目的时候,会有大量的js 大量的css   需要合并压缩,大量时间需要用到合并压缩 在前端开发中会出现很多重复性无意义的劳动  自动化时代的程序员: 希望一切都可以自动完成  ...

  6. 前端自动化构建工具gulp的使用总结

    前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...

  7. 前端自动化构建工具——gulp

    gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...

  8. 前端自动化构建工具-yoman浅谈

    如今随着前端技术的飞速发展,前端项目也变得越来越复杂. 快速的搭建一个集成多种工具和框架的复杂前端项目也越来越成为一种需求. 当然如果你要自己从0开始完全自己diy,绝对可以,只不过需要耗费一些不少的 ...

  9. 前端自动化构建工具--Gulp&&Webpack

    前端构建工具的作用可以认为是对源项目文件或资源进行文件级处理,将文件或资源处理成需要的最佳输出结构和形式. 在处理过程中,我们可以对文件进行模块化引入.依赖分析.资源合并.压缩优化.文件嵌入.路径替换 ...

随机推荐

  1. 学习quartz定时

    学习资料: http://www.cnblogs.com/Rozdy/p/4274356.html http://www.cnblogs.com/Rozdy/p/4284339.html https: ...

  2. freemarker学习

    链接: http://swiftlet.net/archives/category/freemarker

  3. 动画 CABasicAnimation animationWithKeyPath 一些规定的值

    CABasicAnimation animationWithKeyPath Types When using the ‘CABasicAnimation’ from the QuartzCore Fr ...

  4. 正则表达式获取字符串中的img标签中的url链接

    废话不多说直接看代码 JavaScript中的代码: var re = /src=\"([^\"]*?)\"/i; var arr = str.match(re); if ...

  5. TCP_NODELAY

    启用TCP_NODELAY的情况下: 客户端程序C连接到服务器程序S: C仅接受数据,S仅发送数据 S循环调用send发送长度很小的数据包比如:10字节; 在C上用任务管理器查看到C的上行流量大约是下 ...

  6. [转] CentOS单独安装Apache Benchmark压力测试工具的办法

    Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-util包,安装命令为: 1 ...

  7. c# AES加解密并转ASCII码

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...

  8. Sring控制反转(Inversion of Control,Ioc)也被称为依赖注入(Dependency Injection,DI)原理用反射和代理实现

    首先我有一个数据访问层接口: public interface StudentDao { void save(Student stu); } 和实现类: 1.mysql实现类 public class ...

  9. js数组去重的4个方法

    面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项, 这个问题看起来简单,但是其实暗藏杀机. 考的不仅仅是实现这个功能,更能看出你对计算机程序执行的深入理解. 我总共总结4种 ...

  10. JS中同名函数有效执行顺序

    html中如果出现函数同名时:如果有多个外部引入的js文件,例如a.js和b.js(引入顺序假定是a.js,然后是b.js),同时html中本身也有内部的js.那么针对 出现函数名一样的情况时,无论他 ...