?Grunt系列教程之(一)

?Grunt系列教程之一

?grunt是一个强大的自动化构建工具,它能自动的执行你自定义的任务,帮助你编译、压缩、单元测试等。它可以极大的减轻作为程序员的工作量。一切无聊枯燥且重复的工作就交给grunt来完成吧!

?grunt中有非常多的插件,有官方的可以直接使用,如果你觉得这还不够,你可以自己亲自写一个插件,将其发布到npm上。

?常用的grunt插件有:

  1. ?Less
  2. handlebars
  3. jade
  4. JS Hint
  5. watch

?下面我们就以less为例,来看看如何使用grunt来把less编译为css并压缩。

?首先我们要通过npm安装grunt命令行(CLI)到全局变量中

    npm install -g grunt-cli

?CLI安装完成后,就可以建一个grunt项目来跑了。

?新建一个grunt文件夹,在grunt中新建package.json和Gruntfile.js文件。

?package.json为配置信息,里面可以配置需要导入的插件和一些变量或常量。

    {
      "name": "XXX",
      "version": "0.1.0",
      "devDependencies": {
        "grunt": "~0.4.2",
        "grunt-contrib-jshint": "~0.6.3",
        "grunt-contrib-nodeunit": "~0.2.0",
        "grunt-contrib-uglify": "*",
        "grunt-contrib-less": "*",
        "grunt-contrib-concat":"*",
        "grunt-contrib-yuidoc": "*",
        "grunt-contrib-cssmin":"*",
        "grunt-contrib-watch":"*"
      }
    }

?    ?Gruntfile.js为任务的配置,可以理解为程序的主入口。

    module.exports = function(grunt) {
        grunt.initConfig({
            less: {
                compile: {
                    files: {
                        ‘a.less‘
                    }
                }
            },
            cssmin:{
                minify: {
                    expand: true,
                    src: [‘a.css‘],
                    dest: ‘‘,
                    ext: ‘.min.css‘
                }
            },
            watch: {
                css: {
                    files: [‘/*.less‘],
                    tasks: [‘less‘,‘cssmin‘]
                }
            },
        });
        grunt.loadNpmTasks(‘grunt-contrib-less‘);
        grunt.loadNpmTasks(‘grunt-contrib-cssmin‘);
        grunt.loadNpmTasks(‘grunt-contrib-watch‘);

        grunt.registerTask(‘default‘, [‘less‘,"cssmin","watch"]);
    };

?在当前目录下,命令行输入 grunt 就能开始执行 less,cssmin,watch任务。

?下面讲解一下上面的代码。

?首先我们配置了less插件,并指定将a.less编译成a.css并保存在当前的目录,接着是配置了cssmin插件,将上一步生成的a.css文件进行压缩,生成a.min.css文件。我们需要的就是最终生成的那个a.min.css文件。

?下面来看一下神奇的watch插件。我们在项目开发中,不可能每修改一次a.less,都手动去执行命令grunt。所以我们需要一个监听文件改变的东东,它就是watch。我们在配置中,用watch插件监听当前目录下,所有的less文件,只要有改动,就会再次执行 less 和 cssmin插件。是不是很方便?

?上面是使用grunt最简单的一个例子,后面的文章会对grunt的更多特性以及插件做更详细的讲解。

文章作者:forevercjl

文章原文链接:http://blog.csdn.net/forevercjl/article/details/38590305

?Grunt系列教程之(一),布布扣,bubuko.com

时间: 2024-10-12 13:46:19

?Grunt系列教程之(一)的相关文章

ASP.NET 5系列教程 (六): 在 MVC6 中创建 Web API

ASP.NET 5.0 的主要目标之一是统一MVC 和 Web API 框架应用. 接下来几篇文章中您会了解以下内容: ASP.NET MVC 6 中创建简单的web API. 如何从空的项目模板中启动,及添加控件到应用中. 如何配置 ASP.NET 5.0 管道. 在 IIS 外对立部署应用. 本文的目的是从空的项目开始,逐步讲解如何创建应用.当然,您也可以从“Starter Web” 模板开始,它默认包含了MVC 6.权限.记录等其他模块,同时也内置了有效的控制器和视图在其中. 创建空的 A

ASP.NET 5系列教程(七)完结篇-解读代码

在本文中,我们将一起查看TodoController 类代码. [Route] 属性定义了Controller的URL 模板: [Route("api/[controller]")] 所有符合该模板类型的HTTP 请求都会被路由到该controller.在本例中, 路由的命名规范为对应Controller 的前缀,对于TodoController 类,路由模板为 “api/todo”. HTTP 方法 [HttpGet].[HttpPost]和[HttpDelete] 属性定义为 co

菜鸟窝React Native 视频系列教程

菜鸟窝React Native 视频系列教程 交流QQ群:576089067 Hi,我是RichardCao,现任新美大酒店旅游事业群的Android Developer.15年加入饿了么即时配送BU,后负责蜂鸟众包Android端,期间引入react-native技术,作为国内react-native 与 Android混合开发的早期商业项目,具有一定经验,同时也是react-native开源项目reading(https://github.com/attentiveness/reading)

菜鸟窝React Native 系列教程-1.移动端开发趋势与未来

菜鸟窝React Native 系列教程-1.移动端开发趋势与未来 课程持续更新中..... 我是RichardCao,现任新美大酒店旅游事业群的Android Developer.如果你也有兴趣录制RN视频,请加入下面QQ群找我. 下载地址:https://pan.baidu.com/s/1c1XmE56 密码:shhw 首发地址:菜鸟窝-ReactNative学习板块 交流QQ群:576089067 课程目录:菜鸟窝React Native 系列教程

Android视频录制从不入门到入门系列教程(三)————视频方向

运行Android视频录制从不入门到入门系列教程(二)————显示视频图像中的Demo后,我们应该能发现视频的方向是错误的. 由于Android中,Camera给我们的视频图片的原始方向是下图这个样子的: 就是说,即使你是竖着拿手机的,Camera提供给你的视频图像的方向还是上图那样横着的图片. 我们可以通过下述方向改变Camera提供的视频图像的方法: camera.setDisplayOrientation(90); 让图像顺时针旋转90度,视频图像的方向就正常的. 本篇文章DEMO下载.

MongoDB系列教程(八):GridFS存储详解

MongoDB系列教程(八):GridFS存储详解 GridFS简介 mongoDB的文档以BSON格式存储,支持二进制的数据类型,当我们把二进制格式的数据直接保存到mongoDB的文档中.但是当文件太大时,例如图片和视频等文件,每个文档的长度是有限的,于是mongoDb会提供了一种处理大文件的规范--GridFS. GridFS实现原理 在GridFS数据库中,默认使用fs.chunks 和fs.files来存储文件,其中fs.files集合存放文件的信息,fs.chunks存放文件的数据,一

Hyper-V 2016 系列教程39 在 Windows 10中使用 Hyper-V 和 Windows PowerShell

注:以下内容部分取自微软官网: 现在你已基本了解如何部署 Hyper-V.创建虚拟机和管理这些虚拟机,让我们研究一下如何使用 PowerShell 来自动执行其中大部分活动. 返回 Hyper-V 命令列表 单击 Windows"开始"按钮,键入"PowerShell". 运行以下命令以显示适用于 Hyper-V PowerShell 模块的 PowerShell 命令的可搜索列表. PowerShell Get-Command -Module hyper-v | 

使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】

小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tutorial-building-asp-net-

自定义View系列教程01--常用工具介绍

在自定义View的时候,常常会用到一些Android系统提供的工具.这些工具封装了我们经常会用到的方法,比如拖拽View,计算滑动速度,View的滚动,手势处理等等.如果我们自己去实现这些方法会比较繁琐,而且容易出一些bug.所以,作为自定义View系列教程的开端,先介绍一下这些常用的工具,以便在后续的学习和工作中使用. Configuration ViewConfiguration GestureDetector VelocityTracker Scroller ViewDragHelper