1.认识grunt

   grunt是什么:他是一套前端自动化工具,是一个基于nodejs的命令行工具。(Grunt和Grunt插件是通过npm  安装并管理的,所以首先要安装nodejs)。

grunt能干什么:1.压缩文件  2.合并文件  3.简单的语法检查  4.监听文件变动 5.less编译

   grunt优点:1.减轻劳动,简化工作  2.免费,没有盗版   3.插件多,而且可以自己编写插件

2.grunt安装与使用

  第一步:添加package.json和gruntfile.js文件

    package.json配置项的添加方式:

    a:手动添加  (下面内容已经将基本的grunt插件写好)

    {
      "name": "grunt_test",
      "version": "0.0.1",
      "description": "grunt test",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "devDependencies": {
        "grunt": "^0.4.5",
        "grunt-contrib-jshint": "*",
        "grunt-contrib-uglify": "*", 
        "grunt-contrib-cssmin":"*", 
        "grunt-contrib-imagemin":"*", 
        "grunt-contrib-watch": "*", 
        "grunt-contrib-concat":"*" 
      },
      "keywords": [
        "grunt"
      ],
      "author": "caihe",
      "license": "ISC"
    }  

    说明:

      grunt-contrib-jshint: 检查javascript语法

      grunt-contrib-uglify: 压缩以及合并js文件

      grunt-contrib-cssmin:压缩以及合并css文件

      grunt-contrib-imagemin:图像压缩模块

      grunt-contrib-watch:监视文件变动,做出相应动作

      grunt-contrib-concat:合并文件

    然后cmd窗口中进入到当前项目的根目录输入命令行  :npm  install

    b:命令行实现:npm install grunt-contrib-jshint --save-dev等

    gruntfile.js文件配置:

    gruntfile.js 的作用1.读取package.json的信息  2.插件加载、注册任务、运行任务

    module.exports = function(grunt){
      //项目配置
      grunt.initConfig({
        //读取配置项
        pkg:grunt.file.readJSON("package.json"),
        //具体任务
        uglify:{
          options:{
            //加注释
            banner:"/* 这个文件 <%= pkg.name %><%= pkg.version%> \n*/"
          },
          build:{
            //被压缩的文件的路径
            src: "src/jquery-1.9.1.js",
            //被压缩后的文件路径
            dest:"dest/jquery-1.9.1.min.js"
          }
        },
        //合并
        concat:{
          options:{
            //加注释
            banner:"/* 这个文件 <%= pkg.name %><%= pkg.version%> 合并的js\n*/"
          },
          build:{
            //被压缩的文件的路径
            src: "src/*.js",
            //被压缩后的文件路径
            dest:"dest/concat.js"
          }
        },
        jshint: {
          files: ['Gruntfile.js'],
            options: {
          }
        },
        watch: {
          files: ['src/*.html','src/*.css'],
          tasks: ['jshint']
        }
      });
      //加载插件
      grunt.loadNpmTasks("grunt-contrib-uglify");
      grunt.loadNpmTasks('grunt-contrib-jshint');
      grunt.loadNpmTasks('grunt-contrib-watch');
      grunt.loadNpmTasks('grunt-contrib-concat');
      //默认执行任务
      grunt.registerTask("default",["uglify","concat","jshint",'watch']);
    };

     然后cmd窗口中进入到当前项目的根目录输入命令行  :grunt

    可执行grunt任务grunt watch可监听文件变化

windows下grunt的快速入门的更多相关文章

  1. Windows下通过脚本快速修改IP地址

    Windows下通过脚本快速修改IP地址 如果通过Windows的网络属性修改Ip/网关,真是太麻烦了. 经常要切换ip,所以我写了两个脚本: c:\办公室.bat netsh interface i ...

  2. windows下Graphviz安装及入门教程

    下载安装配置环境变量 intall 配置环境变量 验证 基本绘图入门 graph digraph 一个复杂的例子 和python交互 发现好的工具,如同发现新大陆.有时,我们会好奇,论文中.各种专业的 ...

  3. windows下用wubi快速安装ubuntu

    由于开发需要,我们可能要用到ubuntu,然而又不能完全抛弃windows,于是双系统是个不错选择. wubi是一个在windows下快速安装ubuntu双系统的工具,它包含在ubuntu 12及以前 ...

  4. IDEA工具下Mybaties框架快速入门程序

    本篇文章介绍在IDEA工具下mybatis快速入门程序分为以下五步 ​ 1 添加依赖包 ​ 2 编写pojo对象 ​ 3 编写映射文件 ​ 4 编写核心配置文件 ​ 5 测试框架 详细如下 建立Mod ...

  5. Windows下RabbitMQ安装及入门

    1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang. ...

  6. [转]RabbitMQ系列(一):Windows下RabbitMQ安装及入门

    https://blog.csdn.net/hzw19920329/article/details/53156015 1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang ...

  7. :Windows下RabbitMQ安装及入门

    1.Windows下安装RabbitMQ需要以下几个步骤 (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang. ...

  8. 在WINDOWS下 三步快速配置 eclipse c++ 环境

    所需软件 1.Eclipse IDE for C/C++ Developers http://www.eclipse.org/downloads/packages/eclipse-ide-cc-dev ...

  9. Windows下vue-cli脚手架搭建入门<一>

    简单了解Node.js.npm,安装Node.js,下载网址:http://nodejs.cn/download/ 查看node,npm安装成功与否.打开cmd命令行,输入命令 node-v  .np ...

随机推荐

  1. python-CSV格式清洗与转换、CSV格式列变换、CSV格式数据清洗【数据读入的三种方法】【strip、replace、split、join函数的使用】

    1)CSV格式清洗与转换 描述 附件是一个CSV格式文件,提取数据进行如下格式转换:‪‬‪‬‬‪‬‮‬‪‬‭‬ (1)按行进行倒序排列:‪‬‪‬‪‬‪‬‪‬‮‬‬‪‬‮‬‪‬‭‬ (2)每行数据倒序排 ...

  2. Linova and Kingdom(树型-贪心)

    题目大意:给定一棵树,1为首都(首都可以是工业城市也可以是旅游城市),一共有n个点. 其中要选出k个工业城市,每个工业城市出一个代表去首都,其快乐值是其途径旅游城市(非工业)的个数 求所有快乐值相加的 ...

  3. lambda表达式入门详解

    转自 2018-03-02 Sevenvidia 码农翻身 1.什么是Lambda? 我们知道,对于一个Java变量,我们可以赋给其一个"值".   如果你想把"一块代码 ...

  4. 【Hadoop离线基础总结】HDFS的API操作

    HDFS的API操作 创建maven工程并导入jar包 注意 由于cdh版本的所有的软件涉及版权的问题,所以并没有将所有的jar包托管到maven仓库当中去,而是托管在了CDH自己的服务器上面,所以我 ...

  5. Linux文件系统基本结构

    (1)Linux文件系统为一个倒转的单根树状结构: (2)文件系统的根为“/”: (3)文件系统严格区分大小写: (4)路径使用“/”分割(windows使用“\”): 当前工作目录 (1)每个she ...

  6. STM32 外部中断详解(原理+配置代码)

    本文介绍了STM32基于标准外设库的外部中断配置,以及基于参考手册如何更加寄存器配置外部中断 文章目录 1 前言 2 STM32的外部中断 3 中断服务函数的映射关系 4 外部中断的配置 5 寄存器的 ...

  7. 你应该知道的Python3.6、3.7、3.8新特性

    很多人在学习了基本的Python语言知识后,就转入应用阶段了,后期很少对语言本身的新变化.新内容进行跟踪学习和知识更新,甚至连已经发布了好几年的Python3.6的新特性都缺乏了解. 本文列举了Pyt ...

  8. [hdu5217]线段树

    题意:给定一个只含'(',')'的括号序列,有m个操作,改变某个位置的括号或者询问区间[L,R]内的括号进行配对后剩下的第K个括号的位置(配对的括号从原序列中删掉). 思路:首先对于一个括号序列,进行 ...

  9. TP5整合的导出Excel中没有图片和包含图片两种方法

    之前做了个项目需要导出Excel文件 ,我在网上查了许多资料,最后终于搞定了 ,现在把代码贴到下面 先导入库文件:将文件phpoffice放在根目录的vendor下.获取文件点击:链接:https:/ ...

  10. Dozer-对象属性映射工具类

    Dozer-对象属性映射工具类 工具类代码: import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; impo ...