Grunt学习使用

grunt简介神马的不多说,到处一大堆。
我只说说我已经实现了的代码。
按照官方的教程 相信已经配置好了,接下来说 package.json 和 Gruntfile.js这2个文件,package.json是为了告诉grunt我们用哪些插件,这些插件的版本是多少,以及我这个项目的一些信息。
那有人说我怎么知道我需要什么插件,我怎么写这个文件?请看官方的例子:
 {
 "name": "my-project-name",
 "version": "0.1.0",
 "devDependencies": {
 "grunt": "~0.4.5",
 "grunt-contrib-jshint": "~0.10.0",
 "grunt-contrib-nodeunit": "~0.4.1",
 "grunt-contrib-uglify": "~0.5.0"
 }
 }
那么我们只需要在最初的文件中写上
{
"name": "my-project-name",
"version": "0.1.0"
}
这里要注意版本的写法,必须是0.1.0,的格式,不然会报错。
Gruntfile.js文件现在不用管它,执行npm install,你可以发现运行结果如下,提示你没有写什么什么的,无关紧要。。。

当我们需要用什么插件的时候,再利用npm install <插件名> --save-dev 命令即可下载到你项目的node_modules文件夹下,并且自动添加到package.json文件中,这样就可以不用担心这个文件会不会写了。
接着配置Gruntfile.js文件,官方也有解释流程,点这里 ,接着看我们这个文件
 module.exports = function(grunt) {
 //配置任务,所有插件的信息
 grunt.initConfig({
 pkg: grunt.file.readJSON('package.json'),
 // 1、声明插件的配置
 }),
 //2、加载我们的插件
 //3、注册并告诉grunt我们要运行这个插件
 };
就是这样一个流程配置,比如我们要使用grunt-contrib-uglify插件,这个插件是用来压缩js文件。
首先我们得安装这个插件npm install grunt-contrib-uglify --save-dev
可以发现我们的package.json中多了这样的语句
"devDependencies": {
"grunt": "~0.4.5",
"grunt-contrib-uglify": "~0.5.0"
}
这里的grunt肯定是要必须安装的呗,grunt都没有你还用什么插件。。。
接着配置我们的插件,你可以到官方文档中找到相应的插件并查看怎么用。按照上面说的流程依次写入即可。

接着是2、3步

最后再执行grunt命令,即可查看到生成的压缩文件,项目的目录结构是:

还有很多很多插件,需要我们自己去发现并使用。
参考网址:
Grunt学习使用的更多相关文章
- Grunt 学习笔记【2】---- 配置和创建任务
		
本文主要讲Grunt任务配置. 说明:本文所有示例都基于Grunt 0.4.5版本. 一 说明 使用Grunt实现项目的打包等工程化工作,实际上是通过Grunt提供的机制和插件,配置一个个任务(例如: ...
 - grunt学习
		
有些时候,项目中的静态资源,比如图片占用的文件有点大,影响加载的速度,所以会选择grunt对其进行压缩打包.对于grunt其他的用法,还在继续学习中,先记录下关于grunt的一些学习. grunt是一 ...
 - 我的grunt学习笔记
		
什么是grunt? Grunt是一个JavaScript任务运行器,用于自动执行频繁任务(如压缩,编译,单元测试)的工具.它使用命令行界面来运行在文件中定义的自定义任务(这个文件称为Gruntfil ...
 - Grunt学习日记
		
Grunt和 Grunt 插件是通过npm安装并管理的, npm是Node.js的包管理器. 第一步:先安装node.js环境 第二步:安装Grunt-CLI 在node.js命令工具中输入npm i ...
 - grunt学习笔记
		
1. 在使用grunt前需要执行的几条命令和用途 npm uninstall -g grunt 删除掉全局grunt npm install -g grunt-cli 把grunt加入你的系统搜索路 ...
 - grunt学习随笔
		
1 grunt 安装 全局安装 npm install -g grunt-cli 2 配置好package.json 和 Gruntfile 文件,这两个文件必须位于项目根目录下. 2.1packa ...
 - grunt学习笔记1   理论知识
		
你需要检查js语法错误,然后再去压缩js代码.如果这两步你都去手动操作,会耗费很多成本.Grunt就能让你省去这些手动操作的成本. “—save-dev”的意思是,在当前目录安装grunt的同时,顺便 ...
 - grunt学习三-bower(一)
		
bower是什么?官网给出的 a package manager fow the web.简单说引入文件版本管理,例如jquery,传统做法到jquery的官网下载下,在引入,这样比较繁琐,也不利用 ...
 - grunt学习二
		
1. 新建文件和文件目录 mkdir grunt-in-action cd grunt-in-action cd grunt-in-action mkdir grunt-empty cd grunt- ...
 
随机推荐
- 使用C#处理基于比特流的数据
			
使用C#处理基于比特流的数据 0x00 起因 最近需要处理一些基于比特流的数据,计算机处理数据一般都是以byte(8bit)为单位的,使用BinaryReader读取的数据也是如此,即使读取bool型 ...
 - javascript的api设计原则
			
前言 本篇博文来自一次公司内部的前端分享,从多个方面讨论了在设计接口时遵循的原则,总共包含了七个大块.系卤煮自己总结的一些经验和教训.本篇博文同时也参考了其他一些文章,相关地址会在后面贴出来.很难做到 ...
 - Linux中进行单文件内容的复制
			
文件内容复制的常规方法: 开辟一段空间,不断读取文件的内容并写入另一文件当中,这种方法好在安全,一般在类型允许的最大范围内是安全的,缺点就是复制内容的时间长 一次性复制文件的内容,这种方法必须首先获取 ...
 - Python标准模块--Iterators和Generators
			
1 模块简介 当你开始使用Python编程时,你或许已经使用了iterators(迭代器)和generators(生成器),你当时可能并没有意识到.在本篇博文中,我们将会学习迭代器和生成器是什么.当然 ...
 - Android性能优化之利用Rxlifecycle解决RxJava内存泄漏
			
前言: 其实RxJava引起的内存泄漏是我无意中发现了,本来是想了解Retrofit与RxJava相结合中是如何通过适配器模式解决的,结果却发现了RxJava是会引起内存泄漏的,所有想着查找一下资料学 ...
 - ASP.NET MVC开发:Web项目开发必备知识点
			
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
 - 对Thoughtworks的有趣笔试题实践
			
记得2014年在网上看到Thoughtworks的一道笔试题,当时觉得挺有意思,但是没动手去写.这几天又在网上看到了,于是我抽了一点时间写了下,我把程序运行的结果跟网上的答案对了一下,应该是对的,但是 ...
 - PHP之时间和日期函数
			
// 时间日期函数 Time <?php date_default_timezone_set('UTC'); // 获取当前时间的时间戳 $time0 = mktime(); $time1 = ...
 - ASP.NET MVC5----常见的数据注解和验证
			
只要一直走,慢点又何妨. 在使用MVC模式进行开发时,数据注解是经常使用的(模型之上操作),下面是我看书整理的一些常见的用法. 什么是验证,数据注解 验证 从全局来看,发现逻辑仅是整个验证的很小的一部 ...
 - C#制作简易屏保
			
前言:前段时间,有个网友问我C#制作屏保的问题,我瞬间懵逼了(C#还可以制作屏保!).于是我去查阅相关资料,下面把C#如何制作屏保的过程及我学习过程的心得也记录下来,希望对需要的人能有帮助. 基本思路 ...