Grunt的初级应用

Grunt是什么呢?

Grunt是JavaScript世界的构建工具.为什么要用构建工具?一句话:自动化。对于需要反复重复的任务,例如压缩(minification)、编译、单元测试、linting等,自动化工具可以减轻你的劳动,简化你的工作。当你在 Gruntfile 文件正确配置好了任务,任务运行器就会自动帮你或你的小组完成大部分无聊的工作。

为什么要使用Grunt?

Grunt生态系统非常庞大,并且一直在增长。由于拥有数量庞大的插件可供选择,因此,你可以利用Grunt自动完成任何事,并且花费最少的代价。如果找不到你所需要的插件,那就自己动手创造一个Grunt插件,然后将其发布到npm上吧。

Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器。

Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用。;奇数版本号的 Node.js 被认为是不稳定的开发版。

在安装 Grunt 前,请确保当前环境中所安装的 npm 已经是最新版本,执行 npm update -g npm 指令进行升级(在某些系统中可能需要 sudo 指令)。

如果你已经安装了 Grunt,现在需要参考一些文档手册,那就请看一看 Gruntfile实例 和如何 配置任务吧。

在继续学习前,你需要先将Grunt命令行(CLI)安装到全局环境中。安装时可能需要使用sudo(针对OSX、*nix、BSD等系统中)权限或者作为管理员(对于Windows环境)来执行以下命令。

npm install -g grunt-cli

上述命令执行完后,grunt 命令就被加入到你的系统路径中了,以后就可以在任何目录下执行此命令了。

注意,安装grunt-cli并不等于安装了 Grunt!Grunt CLI的任务很简单:调用与Gruntfile在同一目录中 Grunt。这样带来的好处是,允许你在同一个系统上同时安装多个版本的 Grunt。

下面我们来看看具体的代码吧:

创建一个grunt的方法

module.exports=function(grunt){

引入你要干吗的一个插件
  grunt.loadNpmTasks(‘grunt-contrib-uglify‘);
  grunt.loadNpmTasks(‘grunt-contrib-cssmin‘);
  grunt.loadNpmTasks(‘grunt-contrib-concat‘);
  grunt.loadNpmTasks(‘grunt-contrib-htmlmin‘);
  grunt.loadNpmTasks(‘grunt-contrib-imagemin‘);
  grunt.loadNpmTasks(‘grunt-contrib-jshint‘);
  grunt.loadNpmTasks(‘grunt-contrib-watch‘);
 grunt.initConfig({
  uglify:{
    yasuo:{
      options:{
        mangle:false
      },
      expand:true,
      cwd:"development/abc",
      src:‘*.js‘,
      dest:‘a‘
    }
  },

  cssmin:{
    yasuo1:{
      expand:true,
      cwd:‘development/abc‘,
      src:‘*.css‘,
      dest:‘a‘
    }
  },
  concat:{
    hebing:{
    src:"dest1/*.min.css",
    dest: "dest4/he.css"
    }
  },
  htmlmin: {
    options: {
      removeComments: true,//清除html中注释的部分
      removeCommentsFromCDATA: true,
      collapseWhitespace: true,//清空空格
      collapseBooleanAttributes: true,//省略布尔值属性的值
      removeAttributeQuotes: true,
      removeRedundantAttributes: true,//清空所有的空属性
      removeEmptyAttributes: true,//清除所有LINK标签上的type属性
      removeOptionalTags: true //是否清除<html></html>和<body></body>标签
    },
    yasuo2: {
      expand: true,
      cwd: ‘development/abc‘,
      src: ‘*.html‘,
      dest: ‘a‘,
      rename:function(dest2,html){
      return dest2+‘/‘+html.replace(‘.html‘,‘.min.html‘);
    }
  }
},
    imagemin:{
      options:{
        optimizationLevel: 3 //定义 PNG 图片优化水平
      },
      yasuo3: {
        expand: true,
        cwd: ‘development/images‘,
        src: ‘*.{png,jpg,jpeg,gif,webp,svg}‘,
        dest: ‘dest3‘
        }
      },
    jshint:{
      jiance:[
        ‘src/*.js‘
        ],
      },
    watch:{
      jiant:{
        files:[‘src/*.js‘,‘css/*.css‘,‘html/*.html‘,‘img/*.{png,jpg,jpeg,gif,webp,svg}‘,‘src/*.js‘],
        tasks:[‘uglify‘,‘cssmin‘,‘concat‘,‘htmlmin‘,‘imagemin‘,‘jshint‘]
      }
    }

  })
  grunt.registerTask("default",[‘uglify‘,‘cssmin‘,‘concat‘,‘htmlmin‘,‘imagemin‘,‘jshint‘,‘watch‘]);
}

今天由于时间仓促就不加注释了,希望各位原谅,但是我相信以你们聪明的大脑也是可以看懂的,再见了.

时间: 2024-10-14 19:48:09

Grunt的初级应用的相关文章

【前端福利】用grunt搭建自动化的web前端开发环境-完整教程

jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个"真的"重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点,它完全免费,没有盗版.既强大又免费的东西,为何不用? 当然了,你如果你能找到更好的替代grunt的其他工

用grunt搭建自动化的web前端开发环境

用grunt搭建自动化的web前端开发环境 jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个“真的”重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点,它完全免费,没有盗版.既强大又免费的东西,为何不用? 当然了,你如果你

用grunt搭建自动化的web前端开发环境-完整教程

jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个“真的”重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点,它完全免费,没有盗版.既强大又免费的东西,为何不用? 当然了,你如果你能找到更好的替代grunt的其他工具也是可以

chrome plug 初级教程

前言:本教程适合于有一定HTML.CSS.JS基础的前端开发人员.如何写一个chrome 插件呢?在入门时只需要弄明白以下4个概念就OK了.1.manifest.json配置文件2.background背景区3.popup弹出区4.content内容区 那么,在讲那4个概念之前,我们先来了解下chrome的文件结构.先看图 开发环境下的文件主要是放在src中,src之外的可以任意放你需要的文件夹,而我是用grunt打包的,所以有dist文件夹,data文件夹则是用来存放一些ajax调试数据.我们

Grunt环境搭建及使用

转载来源:http://www.cnblogs.com/well-nice/p/4801408.html jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个"真的"重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点

一个初级的前端工程师需要知道些什么?

按照我的想法,我把前端工程师分为了入门.初级.中级.高级这四个级别入门级别指的是了解什么是前端(前端到底是什么其实很多人还是不清楚的,底什么是前端后端.后台),了解基本的html.css和javascript语法,可以根据设计师的设计图在不考虑兼容性的情况下把页面做出来,了解过一些框架的使用(例如烂大街但是依然牛逼的jQuery.zepto.bootstrap等等) 在经历过入门的阶段,已经了解了前端要做什么,并且把基本的语法学习过了可以独立做一些简单的页面了,那么就要继续学习达到初级前端工程师

Grunt 初体验

对于没有接触过类似自动化工具的朋友,对 grunt 也许只是停留在听过阶段,而并没有真正的使用过.今天就从最初级的教程说起.在开始教程之前,需要先确保你已经安装了 node. 下面就开始来讲解 grunt 的使用过程. 1.安装全局的 grund-cli $ npm install -g grunt-cli 安装 grunt-cli 并不等于安装了 Grunt 任务运行器!Grunt CLI 的任务是运行 Gruntfile 指定的 Grunt 版本. 这样就可以在一台电脑上同时安装多个版本的

Grunt搭建自动化web前端开发环境--完整流程

jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过.但是不会熟练使用grunt,那你就真的真的真的out了(三个"真的"重复,表示重点).至于grunt的作用,这里不详细说了,总之你如果做web前端开发,你一定要用grunt.还有一点,它完全免费,没有盗版.既强大又免费的东西,为何不用? 当然了,你如果你能找到更好的替代grunt的其他工

极客学院Web前端开发技术实战视频教程 初级入门+高级实战++专家课程+面试指导

===============课程目录=============== ├<初级中级>│  ├<1. HTML5开发前准备>│  │  ├1.HTML5开发前准备.mp4│  │  └2.开发前的准备-快捷键.mp4│  ├<10. React.js>│  │  ├React.js简介.txt│  │  ├<1.React 概述>│  │  │  ├React 开发环境搭建.mp4│  │  │  ├编写第一个 React 程序.mp4│  │  │  └什么