前段时间因为项目中的报表写了一个Jquery插件,开源到github上,参考以往大神们写的插件的姿势,决定搞了像模像样一点。言归正传。前端工程师对这些工具:Node,bower,grunt,npm这些工具应该都很熟悉。今天就简单介绍一下grunt的用法。

grunt的介绍及安装请看着:getting-started,中文文档,写的也比较详细。

一个完整grunt项目小包含以下模块或配置文件

  • npm:node的包管理器,管理(安装)相关插件
  • grunt-cli:执行grunt任务的工具,但是注意安装了grunt-cli并不意味着安装了grunt,因为grunt是具体包含在项目中的,npm会更具package.json中的插件信息自动下载到grunt项目目录,通常包含在node_modules目录中。
  • package.json:插件及项目配置信息文件。
  • Gruntfile.js grunt任务的定义配置文件。

定义 一个简单的Gruntfile.js:

module.exports = function (grunt) {

    grunt.initConfig({

        // 从自定义的json配置文件读取信息,方便后面应引用
pkg: grunt.file.readJSON("example.jquery.json"), // 引用上面读出来的信息定义一个版权信息头,其实就是用变量拼接一段字符串,后面合并压缩的时候就可以使用这个版权信息
meta: {
banner: "/*\n" +
" * <%= pkg.title || pkg.name %> - v<%= pkg.version %>\n" +
" * <%= pkg.description %>\n" +
" * <%= pkg.homepage %>\n" +
" *\n" +
" * Made by <%= pkg.author.name %>/<%= pkg.author.email %>\n" +
" * Under <%= pkg.licenses[0].type %> License\n" +
" */\n"
}, // 定义一个合并js的任务和一个合并css,只不过这里只有一个js文件和一个css文件,只是简单的拷贝并加上版权信息头
concat: {
dist: {
src: ["src/jquery.example.js"],
dest: "dist/jquery.example.js"
},
css: {
src: ["src/jquery.example.css"],
dest: "dist/jquery.example.css"
},
options: {
banner: "<%= meta.banner %>"
}
}, // 定义一个js语法检查的任务
jshint: {
files: ["src/jquery.example.js"],
options: {
jshintrc: ".jshintrc"
}
}, // 定义一个压缩js的任务,并加上版权信息在头部
uglify: {
my_target: {
src: ["dist/jquery.example.js"],
dest: "dist/jquery.example.min.js"
},
options: {
banner: "<%= meta.banner %>"
}
},
// 定义一个压缩css的任务,并加上版权信息在头部
cssmin: {
css: {
src: ['src/jquery.example.css'],
dest: 'dist/jquery.example.min.css'
},
options: {
banner: "<%= meta.banner %>"
}
} }); require('load-grunt-tasks')(grunt);
grunt.registerTask("default", ["jshint", "concat", "uglify", "cssmin"]); };

然执行如下命令:

#将命令行的当前目录转到项目的根目录下。
#执行npm install命令安装项目依赖的库。
#执行 grunt 命令。 npm install
grunt

下面简单介绍一下bower

bower是一个前端包管理工具,功能类似于LInux的yum,MacBook中的brew,只不过管理的包或软件类型不一样。安装bower工具聚义参照官网说明。今天要说的是如何把自己github上的包上传到bower库进行管理。其实也很简单,就是register命令:

 $bower register mypackage https://github.com/mygithub/mypackage
Package example registered successfully!

上传好了会有相关的提示信息,好了之后你就可以使用以下命令来查看上传的包的信息了:

$bower info  example

然后使用下面的命令来安装包:

$bower install example --save

如果想把上传的包删了重新上传,使用以下命令:

$bower unregister example
unregister是要认证的,需要使用GitHub的密码进行身份验证。
详细的使用方法请使用--help参数来查看。
$bower register --help
$bower unregister --help

使用以上方法,最近写了个jQuery的小插件,请大家多多关照,GitHub地址:https://github.com/zealzhangz/jquery-dropdown-checkboxes

 

最新文章

  1. 搭建SSH详细步骤及相关说明
  2. Server Tomcat v7.0 Server at localhost was unable to&amp;amp;nbs 报错问题解决
  3. python 线程之threading(五)
  4. QQ授权登录
  5. Redis总结(五)缓存雪崩和缓存穿透等问题
  6. hdu 4055 动态规划
  7. Oracle11g客户端安装及plsql配置
  8. Unity2D实现贴图凹凸感并接受实时光照效果
  9. window.onload多个共存 - 借鉴jQuery.noConflict的思路
  10. 3.Thread中的静态方法
  11. C#最基本的小说爬虫
  12. mysql insert插入时实现如果数据表中主键重复则更新,没有重复则插入的四种方法
  13. Hadoop记录- Yarn scheduler队列采集
  14. 第七节《Git协议与工作协同》
  15. verilog 介绍
  16. 增加Myecllipse内存
  17. windows下安装Mysql—图文详解
  18. mac 使用笔记日志
  19. SDN架构
  20. activiti发布APP时报错:关联的流程无效

热门文章

  1. 使用HttpClient以文件流的方式上传文件(非multipartFormData方式)
  2. kmp的next数组的运用(求字符串的最小循环节)
  3. Visual Studio 2017正式版离线安装方法
  4. ZOJ 80ers' Memory
  5. Apache POI 读写 Excel 文件
  6. 使用git和gitlab进行协同开发流程
  7. SQL Server 2012 AlwaysON 同步延迟时间
  8. Openstack(九)部署nova服务(控制节点)
  9. spring boot开启事务管理,使用事务的回滚机制,使两条插入语句一致
  10. Linux下编译安装MySQL5.6