• 转: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/

  • 相关阅读:
    SQLServerframework启动报异常:Module的类型初始值设定项引发异常
    在coding或者github建立个人站点域名绑定
    Github速度慢的解决方法
    jsoup爬取网站图片
    activeMQ类别和流程
    Session session = connection.createSession(paramA,paramB);参数解析
    Ehcache入门经典:第二篇ehcache.xml的参数
    Ehcache入门经典:第一篇
    处理高并发
    扩充次数和创建个数问题
  • 原文地址:https://www.cnblogs.com/cos2004/p/2944746.html
Copyright © 2020-2023  润新知