windows下安装grunt需要先安装ruby和nodejs
ruby -v 测试ruby是否安装成功
node -v 测试nodejs是否安装成功
npm -v 测试npm是否安装成功(npm是node.js的包管理器,安装node.js会自动安装npm。grunt和grunt插件就通过npm安装并管理。)

Grunt 依赖 Node.js 所以在安装之前确保你安装了 Node.js。然后开始安装 Grunt。

实际上,安装的并不是 Grunt,而是 Grunt-cli,也就是命令行的 Grunt,这样你就可以使用 grunt 命令来执行某个项目中的 Gruntfile.js 中定义的 task 。但是要注意,Grunt-cli 只是一个命令行工具,用来执行,而不是 Grunt 这个工具本身。

安装 Grunt-cli 需要使用 npm,使用下面一行即可在全局范围安装 Grunt-cli (-g 命令会安装到全局),换句话说,就是你可以在任何地方执行 grunt 命令:
npm install -g grunt-cli

(1)创建grunt项目:

假设项目在d盘目录,那么进入D盘
cd D:\

创建项目文件夹:
mkdir 项目文件夹(如:site)

进入文件夹:
cd site

在该文件夹目录下添加两个文件:package.json 和 Gruntfile.
package.json:被npm用于存储项目的元数据,以便将此项目发布为npm模块。
Gruntfile:此文件可被命名为Gruntfile.js 或 Gruntfile.coffee,用来配置或定义任务并加载grunt插件。
package.json文件:
{
"name": "my-project",
"version": "0.1.0"
"devDependencies": {
"grunt": "~0.4.1"
}
}

(2)安装最新版的grunt:
npm install grunt --save-dev
通过 npm 安装了 grunt 到当前项目,同时加上了 —save-dev 参数,表示会把刚安装的东西添加到 package.json 文件中

(3)安装grunt插件:
npm install grunt-contrib-cssmin(插件名称) --save-dev

注:如果要安装指定版本的grunt或grunt插件,只需运行npm inatall grunt@Version --save-dev (Version是指需要的版本,指定的版本号即可)

(4)配置Gruntfile.js
(4.1)在grunt.initConfig中添加配置,如:添加concat插件的配置,如下
grunt.initConfig({
concat:{
dist: {
src: ['src/foo.js','src/bar.js'],
dest: 'dist/output.js'
}
}
});

(4.2)加载指定插件任务
grunt.loadNpmTasks('grunt-contrib-concat');

(4.3)注册插件任务
grunt.registerTask('default',['concat','watch']);
default 是别名,是默认的task,当在项目目录执行grunt的时候,它会执行注册到default上的任务。

grunt.registerTask('compress',['uglify:build']);
如果要执行这个task,就不能只输入grunt命令了,需要输入 grunt compress 命令来执行这条task,而这条task的任务是uglify下面的build任务,也就是说,我们只会执行uglify里面的build定义的任务,而不会执行uglify里面定义的其他任务。
这里需要注意的是,task 的命名不能与后面的任务配置同名,也就是说这里的 compress 不能命名成 uglify,这样会报错或者产生意外情况。

(5)执行任务:
执行配置中所有的任务:grunt
执行某个特定的任务:grunt cssmin(任务)

grunt配置任务可查看http://www.gruntjs.net/configuring-tasks

grunt的安装及使用的更多相关文章

  1. yeoman bower grunt等安装

    grunt-beginner前端自动化工具:http://www.imooc.com/learn/30 grunt的安装 官方站点:http://gruntjs.com/ 安装指令: sudo npm ...

  2. 学习笔记--Grunt、安装、图文详解

    学习笔记--Git安装.图文详解 安装Git成功后,现在安装Gruntjs,官网:http://gruntjs.com/ 一.安装node 参考node.js 安装.图文详解 (最新的node会自动安 ...

  3. Grunt教程——安装Grunt

    Grunt教程--安装Grunt 作者:大漠 日期:2013-11-04 点击:3124 tools grunt 在上一节<Grunt教程--初涉Grunt>一文中介绍了Grunt是什么, ...

  4. 问题总结——window平台下grunt\bower安装后无法运行的问题

    一.问题: 安装grunt或者bower后,在cmd控制台运行grunt -version 或者 bower -v会出现:“xxx不是内部或外部命令,也不是可运行的程序或批处理文件”,

  5. 前端自动化学习笔记(一)——Yeoman,bower,Grunt的安装

    最近看视频学习了前端自动化的一些知识,确实让我大开眼界.感觉前端越来越神器了.同时跟着视频自己也尝试运用了一些工具去构建前端项目,但是中间遇见了很多坑,磕磕绊绊的才实现了一点功能,所以打算记录一下学习 ...

  6. grunt 的安装和简单使用

    安装Grunt命令行 npm install -g grunt-cli 创建package.json,如果有package.json包,可以直接npm install加载依赖组件 npm init 安 ...

  7. grunt安装和使用教程

    grunt的安装 npm intall -g grunt-cli 新建文件夹grunt,在本地文件中添加package.json和Gruntfile.js文件,其中package.json文件的配置如 ...

  8. Sass和compass 安装 和配合grunt实时显示 [Sass和compass学习笔记]

    demo 下载http://vdisk.weibo.com/s/DOlfkrAWjkF/1401192855 为什么要学习Sass和compass ?提高站独立和代码产品化的绝密武器,尤其是程序化cs ...

  9. grunt安装与运行

    用grunt前,需要先安装nodejs.因为grunt依赖于nodejs.nodejs的安装可以参照我的博客里头的nodejs的下载,安装与测试.   第一步:安装grunt-CLI 注意你的电脑要联 ...

随机推荐

  1. wms、wmts和wfs的区别

    Web地图服务(WMS)利用具有地理空间位置信息的数据制作地图.其中将地图定义为地理数据可视的表现.这个规范定义了三个操作:GetCapabilities返回服务级元数据,它是对服务信息内容和要求参数 ...

  2. 【并行计算-CUDA开发】从零开始学习OpenCL开发(一)架构

    多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零开始做OpenCL开发>系列文章的 ...

  3. 【Linux开发】linux设备驱动归纳总结(五):2.操作硬件——IO内存

    linux设备驱动归纳总结(五):2.操作硬件--IO内存 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  4. TCP和SSL TCP应用

    TCP和SSL TCP应用 对于普通开发者而言编写TCP应用通讯是一件相对复杂的工作,毕竟需要一系列的bytes操作:如果再针对SSL的安全性处理相信会把很多普通开发者拒之门外.为了简化这一问题Bee ...

  5. Python 入门 之 双下方法

    Python 入门 之 双下方法 1.双下方法 ​ 定义:双下方法是特殊方法,它是解释器提供的 由双下划线加方法名加双下划线 方法名的具有特殊意义的方法,双下方法主要是python源码程序员使用的,我 ...

  6. js设计模式--发布订阅模式

    前言 本系列文章主要根据<JavaScript设计模式与开发实践>整理而来,其中会加入了一些自己的思考.希望对大家有所帮助. 概念 发布-订阅模式又叫观察者模式,它定义对象间的一种一对多的 ...

  7. py2 json字符串转字典去掉前缀u

    def unicode_convert(input): if isinstance(input, dict): return {unicode_convert(key): unicode_conver ...

  8. Codeforces 1216F. Wi-Fi

    传送门 这个题一眼 $dp$ 就是设 $f[i][0/1]$ 表示我们只考虑前 $i$ 个位置,并且保证覆盖了前 $i$ 个位置,当前位置 选/不选 的最小代价 考虑转移,设题目给出的字符串为 $s$ ...

  9. git删除已经push的远程文件或文件夹

    在使用git提交项目时,有时候会误提交一下文件,比如:*.iml,*.project,*.settings,.idea/*等文件,有时候这些不需要提交的文件可以加入到.gitignore,在提交的时候 ...

  10. Vue报错:Property or method "XXX" is not defined on the instance but referenced during render. Make sure that this property is reactive...

    在Vue中定义方法或者属性时,因为粗心疏忽可以能会报该错误 [Vue warn]: Property or method "search" is not defined on th ...