Grunt构建工具能做哪些事?
Grunt到底有什么作用?一般用来干嘛?
很多前端的工作,包括Less编译、javascript压缩、Css压缩等零零碎碎的工作,
都可以让Grunt来做。
实际上在项目开发中,一般是前端代码 与 后端代码 完全分离,才会使用Grunt构建工具。
目前很多构建工具已经相当强大了,说说他的强大功能:
1、javascript文件压缩、合并,合并能减少很多HTTP请求,优化网站性能;
2、自动做CSS Sprite,小图标合并的繁琐工作,你完全可以解脱,你告诉他你的图标的图标位置,对应的图标合并、background-position,构建工具帮你搞定;(百度FIS构建工具有这个功能,Grunt应该也有对应的插件完成这样的功能。)
3、Sea.js CMD模块构建;
4、你是不是经常写-webkit-、-moz-?不用在麻烦了,构建工具帮你解决;
5、开发中,改一下Less再手动编译?构建工具可以监听文件修改,自动编译;
6、开发中,改一下CSS,刷新一下页面查看效果?构建工具可以监听文件修改,立即刷新页面;
……
国内很多公司Web前端开发人员,
感觉上是:前端附属于后端开发,地位较低。
(在普通的公司是这样的,但是百度、腾讯就会重视前端,而且大的互联网公司,Web前端开发出来的东西也是很赞的。)
常见的构建工具:
Grunt、FIS(百度出品)等。
FIS也是一个不错的构建工具。
目前很多的Web前端构建工具都是Node.js写的。
注意事项:如果你在使用中,grunt-contrib-connect、grunt-contrib-watch两个同时搭配使用,出现不能正常工作的 问题,要注意这个connect的这个配置:keepalive: false。如果没有配合grunt-contrib-watch的时 候,keepalive配置往往是true,配合watch监听的话,这个值就是false。
我的项目结构:

Grunt构建工具能做哪些事?的更多相关文章
- 前端工程化系列[03]-Grunt构建工具的运转机制
在前端工程化系列[02]-Grunt构建工具的基本使用这篇文章中,已经对Grunt做了简单的介绍,此外,我们还知道了该如何来安装Grunt环境,以及使用一些常见的插件了,这篇文章主要介绍Grunt的核 ...
- 前端工程化系列[04]-Grunt构建工具的使用进阶
在前端工程化系列[02]-Grunt构建工具的基本使用和前端工程化系列[03]-Grunt构建工具的运转机制这两篇文章中,我们对Grunt以及Grunt插件的使用已经有了初步的认识,并探讨了Grunt ...
- Gulp、Grunt构建工具
在Gulp中创建一个库从磁盘gulp.src读取源文件并通过磁盘管道写回内容到gulp.dest,可以理解成只是将文件复制到另一个目录. var gulp = require('gulp'); gul ...
- grunt 构建工具(build tool)初体验
操作环境:win8 系统,建议使用 git bash (window下的命令行工具) 1,安装node.js 官网下载:https://nodejs.org/ 直接点击install ,会根据你的操 ...
- Grunt构建工具插件篇——之less工具
Grunt--Less 摘要: 之前介绍了自动构建工具Grunt,其中有一个模块是"grunt-contrib-less",下面是配置Grunt自动编译less文件. 安装: Gr ...
- 前端工程化系列[02]-Grunt构建工具的基本使用
本文主要介绍前端开发中常用的构建工具Grunt,具体包括Grunt的基本情况.安装.使用和常见插件的安装.配置和使用等内容. 1.1 Grunt简单介绍 Grunt是一套前端自动化构建工具.对于需要反 ...
- Grunt构建工具
Grunt是javascript的构建工具,对于需要反复重复的任务,例如压缩(minification).编译.单元测试.linting等,自动化工具可以简化工作.Grunt生态系统非常庞大.你可以利 ...
- Grunt构建工具插件篇——之less工具2
Grunt任务分为两部分,一部分是任务,即Grunt要执行的代码,找到对应功能的插件就成.所以等会要下载grunt-contrib- less包,这个插件便是把less文件编译成能直接使用的css.另 ...
- Grunt构建工具插件篇——之less工具3和watch配合自动化编译
grunt less转换成css速度慢 而且页面会全部刷新? 最近遇到了个问题,grunt里用less,当修改完.less里面的样式,对应 的.css文件会好几秒才修改,然后浏览器上显示也会耗时好几秒 ...
随机推荐
- JSP直接调用一个action定向到页面
方法:写function <script type="text/javascript"> function mainPas(){ window.location.hre ...
- 修改maven本地仓库路径
修改maven配置文件conf/settings.xml 在setting标签中添加 <localRepository>E:/bhuwifi_java/repo</localRepo ...
- 文本属性Attributes 初步
转载自:http://www.cnblogs.com/qingche/p/3574995.html 1.NSKernAttributeName: @10 调整字句 kerning 字句调整 2.NSF ...
- WeakSelf和StrongSelf
转载自:http://sherlockyao.com/blog/2015/08/08/weakself-and-strongself-in-blocks/ 现在我们用 Objective-C 写代码时 ...
- 块和内嵌总结,以及各个标签的应用。其中的ul ol dl特殊定义为auto,使得里面的内容展开
<!doctype html> <html> <head> <meta charset="UTF-8"/> <title> ...
- HDU 2846 Repository(字典树)
字典树较为复杂的应用,我们在建立字典树的过程中需要把所有的前缀都加进去,还需要加一个id,判断它原先是属于哪个串的.有人说是AC自动机的简化,但是AC自动机我还没有做过. #include<io ...
- Python3基础 当函数中的局部变量与全局变量同名了,各管各的
镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...
- java实现webservice
第一步:web工程--新建server-config.wsdd 文件与web.xml同级 其内容如下 <?xml version="1.0" encoding="U ...
- 关于源码编译每次提示有错误 要make update-api
最近编译newline的版本的时候..同事修改了andoid默认输入法为百度.这是系统自动提供的API,所以每次编译会提示 此时在编译源码生成SDK的过程中会出现这个问题:************** ...
- PAT (Advanced Level) 1080. Graduate Admission (30)
简单题. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...