简介: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. iOS 宏(define)与常量(const)的正确使用

    在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与const修饰 你能区分下面的吗?知道什么时候用吗? #define HSCoder @ ...

  2. LeetCode Generalized Abbreviation

    原题链接在这里:https://leetcode.com/problems/generalized-abbreviation/ 题目: Write a function to generate the ...

  3. join用法

    join命令可以将多个文件结合在一起,每个文件里的每条记录,都共享一个键值(key),键值指的是记录中的主字段,通常会是用户名称.个人姓氏.员工编号之类的数据. join - join lines o ...

  4. 由FutureTask的get方法靠什么机制来阻塞引发的思考

    1. FutureTask的get方法靠什么机制来阻塞 看其get方法源码: /** * @throws CancellationException {@inheritDoc} */ public V ...

  5. MVC 的各个部分都有那些技术来实现?如何实现?

    MVC 的各个部分都有那些技术来实现?如何实现? MVC 是 Model-View-Controller 的简写 "Model" 代表的是应用的业务逻辑(通过JavaBean,EJ ...

  6. Android -- 仿ios上下反弹效果

    1,前几天在一个app上看到了滑动反弹效果,觉得这个效果挺不错的,然后想自己来实现一下,在网上查了一下基本上都是大致的说了下思路,自己看了一下,决定把实现的思路来详细的写下来,先看一下我们实现的效果吧 ...

  7. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数013,shape模型

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数013,shape模型 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“pr ...

  8. kali安装nautilus-open-terminal不起作用

      apt-get install nautilus-open-terminal (鼠标右键在当前目录打开终端) 这个功能不起作用时,可以按如下操作,经试验有效! nautilus -q && ...

  9. TCP/IP 协议介绍

    转自http://blog.jobbole.com/104886/ 一.TCP/IP 协议介绍 在介绍 HTTP 协议之前,先简单说一下TCP/IP协议的相关内容.TCP/IP协议是分层的,从底层至应 ...

  10. Python之ftplib模块

    一.引言: 某一天,开发哥们跟我反映lftp和java写的ftp程序下载文件有问题,具体情况如下:当一个大于1G的文件已经下载完毕以后一直出现夯住的情况.为了重现开发哥们所说情况,我就自己用pytho ...