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等开源组件已经帮我们实现了. 我们可以不用重复 ...
随机推荐
- linux automake使用
一篇文章: 一.Makefile介绍 Makefile是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile中纪录有 ...
- Django:学习笔记(9)——用户身份认证
Django:学习笔记(9)——用户身份认证 User
- git 常用的撤销操作
git 开发时的使用流程,从同事那里学习的, 第一步,先建立一个新的分支,可以在GITLAB或通过命令git checkout -b newbranch 或通过IDE插件 第二步,让项目切换到该分支, ...
- python3_pickle模块详解
python3 pickle持久化的储存数据. python程序运行中得到了一些字符串,列表,字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据.python模块大 ...
- python3_time模块详解
python提供的时间模块time是需要单独引入: 1.time.sleep(secs)# 推迟调用线程的运行,secs指的是秒 time.sleep(secs) 2.time.time():返回当前 ...
- qemu-nbd方式挂载qcow2镜像
客户端配置 加载nbd模块 [root@centos sm]# rmmod nbd [root@centos sm]# modprobe nbd max_part=8 映射服务器的块设备到本地nbd设 ...
- vultr VPS安装BBR
1.安装 wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x bbr.s ...
- 同时执行2条不同sql
select * from a: select *from b; 用分号结束.
- Java 设计模式六原则及23中常用设计模式
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...
- 快用Visual Studio(五)- 语言特性
HTML 自带Emment $ SHIFT + OPTION + F:格式化代码 其他语言特性提示 CSS & LESS hover属性,提示样式对象标签 $ CMD + SHIFT + O: ...