简介: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. Top (参数)

    最近在优化数据库服务器上高消耗语句/过程,发现一个存储过程优化后依旧出现在Profiler跟踪里.将Profiler跟踪文件中过程执行语句取出,打开一个查询窗口(SPID=144),set stati ...

  2. VMware workstaion上传虚拟机到VMware EXSI 5.5

    1.首先在VMware Workstation 文件 --- 连接VMware EXSI5.5服务器. 2.输入VMware EXSI 5.5服务器地址.用户名和密码. 3.右键Windows  7 ...

  3. 《30天自制操作系统》14_day_学习笔记

    harib11a--harib11c: 继续测试性能:我们在harib10h中进行了定时链表结构的改进“消除了移位处理”.下面我们设定490个定时器(它们都被设定启动50天才超时)来测试一下改进的效果 ...

  4. 从零开始学Linux[三]:shell脚本学习

    测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试

  5. excel转换日期格式,将yyyymmdd类型日期转换成yyyy-mm-dd等日期类型方法

    源数据日期格式:例如: 20160420 20160422 目标日期格式类型: 2016-4-20 2016-4-22 或 2016/04/20 2016/04/22 方法: 一.选中相应数据的单元格 ...

  6. Pyhton 学习总结 20 :执行系统命令

    在Python中执行系统命令有os.system().os.popen().commands.getstatusoutput().subprocess.Popen等     1.os.system() ...

  7. HDU 1258 Sum It Up

    Sum It Up Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  8. ASP.NET中的Image和ImageButton控件

    Image 控件用来显示图形.Image 控件可以显示来自位图.图标或元文件的图形,也可以显示增强的元文件.JPEG 或 GIF文件. ImageButton 控件用于显示可点击的图像. Image ...

  9. transition、animation在macbook air上图片动画边缘抖动

    示例: BUG描述: 最近同事一项目中,产品提出在macbook air上,列表图片放大效果边缘出现抖动现象.在retina屏上没有此问题. 调试过程: 1.单独把结构分离.确定是否由其他元素引起. ...

  10. Linux VFS中write系统调用实现原理【转】

    转自:http://blog.chinaunix.net/uid-28362602-id-3425881.html 目录 用户空间的write函数在内核里面的服务例程为sys_write Vfs_wr ...