Gruntjs提高生产力(二)
摆脱混乱的html文件中开发,拥有development与product模式是我们梦寐以求的。
我买的需求是:
1.产出一定格式的目录结构,以供日常开发使用,脚手架功能。
2.在开发模式环境中我们按照文件类型不同分开开发,甚至html也分成小的区块widget化利于协作开发和维护,产出时合并成一个html,外联资源inline化。
3.在编码过程中实时保存并自动刷新浏览器,可以查看结果。
4.编码过程中进行代码检查,单元测试。
5.产出环境我们把这些碎片文件按照逻辑顺序压缩合并打包到一起组合成html,减少请求和代码体积。
6.上线后生成开发文档。
grunt 有没有这样的能力呢,接下来我们一起探索。
1.脚手架功能
grunt-init插件
npm install -g grunt-init
装好后要安装模板
git clone git://github.com/gruntjs/grunt-init-gruntplugin.git ~/.grunt-init/gruntplugin
自己也可以根据要求创建自定义模板。
2.include功能
grunt-incoludes插件 (第三方)
npm install grunt-includes
include "content.html" //注意指令前后不要添加任何符号,会影响正则匹配(本人在最后面添加了一个;被卡了很久)
3.刷新浏览器
a.自动刷新功能
目前来说只实验了chrome浏览器,有关刷新的插件有两款。

livepage

livereload
这两款插件在chrome store中可以找到,都可以实现修改文件就刷新浏览器的功能。大家可以看看介绍,自行选择。
我选择livepage,因为启动后比较醒目。
b.自动保存我用的是webstorm 。。。。。所以没有去找这个功能。
4.
a.代码检查
grunt-contrib-csslint
grunt-contrib-jshint
b.单元测试
grunt-contrib-qunit
5.压缩、打包
npm install grunt-contrib-cssmin//css压缩
npm install grunt-contrib-uglify//注明的js压缩工具
npm install grunt-contrib-imagemin//图片压缩
npm install grunt-contrib-compress//打压缩包
6.产出文档
grunt-jsdoc (git被墙了,要用代理才能装)
npm install jsdoc@"<=3.3.0"
contrib-yuidoc
npm install grunt-contrib-yuidoc
jsdoc的文档请移步
7.常用插件
contrib-clean 清理文件夹
npm install grunt-contrib-clean
contrib-copy 拷贝文件夹
npm install grunt-contrib-clean
这样说来grunt完全能够满足我们日常中的需求。
怎样获取自己想要的插件呢?
1.grunt官网插件的名字都很明了,ctrl+f直接搜
2.npm 使用关键字搜索
3.github
4.chrome商店,会找到意想不到的好东西
-----
发现插件还蛮多的,写了不少。约定好的实例讲解只能放到下一讲了。
Gruntjs提高生产力(二)的更多相关文章
- Gruntjs提高生产力(三)
以下例子来自真实项目,有所删减 grunt-test project 目录结构如下 一我的目的: 1.在src-dev目录中开发最终产出于src目录 2.src-dev中的index目录相当于一个wi ...
- Gruntjs提高生产力(四)
思考: 1.grunt以工程为单位安装插件? 如果有新工程就要重新安装插件或者把安装好的插件拷贝过去.这样很麻烦,解决方案是需要用grunt的项目统一放在grunt项目中. 2.每次需要针对项目编写g ...
- Gruntjs提高生产力(一)
gruntjs是一个基于nodejs的自动化工具,只要熟悉nodejs或者又一定js经验就可以熟练应用. 1. 安装 a. 保证已安装了nodejs,并带有npm b.安装客户端命令行工具,grunt ...
- [置顶] 提高生产力:开源Java工具包Jodd(Java的”瑞士军刀”)
官方网站:http://jodd.org/ 下载地址:http://jodd.org/download/index.html Jodd=tools + ioc + mvc + db + aop + t ...
- [置顶] 提高生产力:Web开发基础平台WebCommon的设计和实现
Web开发中,存在着各种各样的重复性的工作.为了提高开发效率,不在当码农,我在思考和实践如何搭建一个Web开发的基础平台. Web开发基础平台的目标和功能 1.提供一套基础的开发环境,整合了常用的框架 ...
- js基础提高(二)
JavaScript基础提高(二) 上篇写的是JavaScript的历史.基本的数据类型和基本的语法进填的话讲的就深入一些了. js的函数 1.js函数定义的方式 (1)普通方式 语法:functio ...
- 【转】java提高篇(二)-----理解java的三大特性之继承
[转]java提高篇(二)-----理解java的三大特性之继承 原文地址:http://www.cnblogs.com/chenssy/p/3354884.html 在<Think in ja ...
- 提高生产力:开源Java工具包Jodd(Java的”瑞士军刀”)
官方网站:http://jodd.org/ 下载地址:http://jodd.org/download/index.html Jodd=tools + ioc + mvc + db + aop + t ...
- 提高生产力:文件和IO操作(ApacheCommonsIO-汉化分享)
复制.移动.删除.比较.监控.文件读写 等文件和IO操作是编程中比较常用的功能. 幸运的是,Apache Commons IO等开源组件已经帮我们实现了. 我们可以不用重复 ...
随机推荐
- 09 grep、正则表达式和sed
作业一:整理正则表达式博客 ^ 行首$ 行尾. 除了换行符以外的任意单个字符* 前导字符的零个或多个.* 所有字符[] 字符组内的任一字符[^] 对字符组内的每个字符取反(不匹配字符组内的每个字符)^ ...
- SQL Server 数据分页查询
最近学习了一下SQL的分页查询,总结了以下几种方法. 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据.(数据太少,就每页5 ...
- 4-es6的模块化编程
诞生背景其他都是第三方库,只有es才是官方正宗的,如果es早就制定的话,也不至于现在的这么百花齐放(混乱)的局面了 核心规范一个文件就是一个模块export是暴露出模块的公开方法import是导入 实 ...
- BZOJ 2599: [IOI2011]Race
点分治,定权值,求另一关键字最小 不满足前缀加减性 可以按序遍历,用一数组$t[] 来维护路径为i的最小边数$ 再对于一个直系儿子对应的子树,先算距离求答案再更新$t数组,这样就不会重复$ #incl ...
- hdu6162 Ch’s gift
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6162 题目: Ch’s gift Time Limit: 6000/3000 MS (Java ...
- spark restful 作业提交
spark1.4起,在启动master进程时候,同时会有一个restful的服务器,可以接受RESTFUL的请求, 以下是提交应用的示例 curl -X POST http://tssloginsig ...
- 常用RDD
只作为我个人笔记,没有过多解释 Transfor map filter filter之后,依然有三个分区,第二个分区为空,但不会消失 flatMap reduceByKey groupByKey() ...
- $ 一步一步学Matlab(2)——Matlab基本通用操作
在上一篇中对Matlab做了一个初步的了解,本文继续来零距离亲身体验Matlab,来感受一下Matlab的一些基本.通用的操作. 命令行窗口 一打开Matlab就能看到命令行窗口,在我所用的这个精简版 ...
- DevOps简单介绍
jenkins作为测试环境代码发布工具,sonar作为静态代码检查工具,idea作为开发工具,jira作为缺陷管理平台,upstream作为code review工具(正在研究).DevOps最近比较 ...
- ABP官方文档翻译 1.6 OWIN集成
OWIN集成 安装 使用 如果在应用程序里既使用ASP.NET MVC也使用ASP.NET Web API,需要在工程里安装Abp.Owin包. 安装 添加Abp.Owin包到主工程里(一般是web工 ...