zoukankan      html  css  js  c++  java
  • 转:grunt简介

    grunt 是一个开源的基于任务 (Task) 的前端构建框架。它除了有 Jake 的优点(跨平台、开发简单)以外,还有一套设计良好的 task 框架用来组织各种构建任务。grunt 内置了几个非常常见的构建任务:

    • concat - 组合各种文件
    •  lint - 用 JSHint 检查代码
    •  min - 用 UglifyJS 压缩代码
    •  qunit - 跑 QUnit 单元测试
    •  watch - 当源代码文件发生变化时自动执行任务

    除此之外还可以通过 npm 来方便的获取几百个现成的 task,比如用 closure 而不是 UglifyJS 来压缩 js,或者用 less 来生成 css,又或者用 jslint 而不是 jshint 来检查语法等,这些任务都可以在 npm 上找到。如果这些任务无法满足你的需求,grunt 还允许你方便的添加自定任务,就像写 nodejs 代码一样简单。自定任务还可以发布到 npm 上,通过 npm 在多个项目中共享这些任务。[fenbi-grunt-tasks] 就是粉笔网自定的 js 模块合并、handlebars 模板预编译任务 ([grunt-tbf2e] 貌似是淘宝的自定任务)。

    任务之间的组合也是 grunt 非常好用的一个特性,例如通过 watch 任务和 rsync 任务的结合,可以方便的实现当源码发生改变时,自动同步代码到服务器上。

    每次 grunt 执行时,grunt 都会去读取当前目录下的 grunt.js (就像 make 命令去寻找 Makefile 那样),然后去读取其中的任务配置,例如源码目录等。grunt 最大的特点在于,配置文件中不包含任何的任务逻辑代码(OO 的开闭原则)。这一特性使得任务可以专心于“要做什么”而不是“要对什么做事情”,不再被特定的项目所绑架。

    grunt 给我最大的感受是:原来天下有这么多码农都在为前端构建而奋斗!grunt 使得各个项目的构建脚本不再彼此孤立,使得打造整个公司的前端构建工具变的更加简单。

    =====================

    部分转自:http://lostjs.com/2012/12/08/grunt-the-best/

  • 相关阅读:
    使用math.js进行javascript精确计算
    SpringMVC java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name
    MAC系统下配置环境变量
    javaURL中文乱码的问题
    Mac系统搭建java开发环境
    mysql 删除重复数据保留只保留一条
    SSM 加载配置文件
    CSS3实现元素旋转
    CSS3实现圆角效果
    CSS3 -web-box-shadow实现阴影效果
  • 原文地址:https://www.cnblogs.com/cos2004/p/2944746.html
Copyright © 2011-2022 走看看