千家信息网

Grunt 新手指南

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,导言作为一个正在准备从java 后端转大前端,一直都有想着,在js 的世界里面有没有类似于maven或者gradle 的东西..然后,就找到了grunt 这玩意Grunt是用来干什么的诸如ant,ma
千家信息网最后更新 2026年11月03日Grunt 新手指南

导言

作为一个正在准备从java 后端转大前端,一直都有想着,在js 的世界里面有没有类似于maven或者gradle 的东西..然后,就找到了grunt 这玩意

Grunt是用来干什么的

诸如ant,maven,gradle,make 之流的,那么我们为什么要学这么一个工具了,我们用IDE编程不是好好的吗,要让人去学这么一个工具,那么必然要有这个工具能够为我们搞定什么的原因.

选择Grunt原因

  1. 管理我们的文件依赖
  2. 随心所欲的批处理任务
  3. 整合常用的前端工具,js混淆,文件合并压缩.

说了这么多,上面就是我们为什么要选择grunt.js 作为我们项目构建的工具,如果你没有任何项目构建的概念,我建议了就不要看有关grunt的任何资料了,包括本文.因为,你看不懂我接下来我要写东西,也看不懂任何有关grunt相关资料,所以,就不要浪费时间了.

让Grunt 干活

如果,你之前有接触过构建工具,或者你现在有项目构建的概念,那么任务(tasks)这个概念想必理解起来不会有太大的难度了.

创建我们第一个任务

只要在我们的Gruntfile.js 文件写上这么几句

module.exports = function (grunt) { grunt.registerTask('test', 'my first tasks', function () { grunt.log.write('Hello World!').ok(); }); } 
">module.exports = function (grunt) {grunt.registerTask('test', 'my first tasks', function () {grunt.log.write('Hello World!').ok(); });}

接着我们只要在当前目录运行 grunt test

就能看到控制台输出

Hello World.

接下来咱们有个node 环境就可以想干嘛的就干嘛了..停住!如果只是这样,这跟我们写个shell脚本有什么区别呢?实际上grunt跟shell 脚本没什么区别,只是grunt有一个node 运行环境,可以比写shell脚本简单那么一些,如果你已经是shell脚本达人,我觉得没有再学grunt必要了.

任务的任务

有时候,我们有很多任务,不过这里任务,都可以归类为一中,我们就需要注册一个多任务来处理这种情况,例如,文件的操作就有,创建,打开,重命名,这些任务都可以归类为文件操作任务

module.exports = function (grunt) { grunt.initConfig({ file: { create: 'source file', open: 'open file', delete: 'delete file' } }); grunt.registerMultiTask('file', 'Log stuff.', function () { grunt.log.writeln(this.target + ': ' + this.data); }); } 
">module.exports = function (grunt) { grunt.initConfig({ file: { create: 'source file', open: 'open file', delete: 'delete file'}}); grunt.registerMultiTask('file', 'Log stuff.', function () {grunt.log.writeln(this.target + ': ' + this.data); });}

这个时候我们运行的时候,就会看到如下接口

grunt file:create

create: 'source file'

grunt file:open

open: 'open file'

grunt file:delete

delete: 'delete file'

那么在我们自定义多任务的时候,可以通过this.target 获得当前任务命令,然后通过this.data 获取到我们的配置值,接下来就是发挥你的想象力的时候了.

总结

实际上grunt不是什么神奇的时候,它最不过是一个运行在node的一个命令行工具,可以方便我们用js写脚本而已.

插件推荐

  1. grunt-contrib-watch
    • 监听文件修改
  2. grunt-curl
    • 想curl 下载远程js
  3. grunt-contrib-clean
    • 文件清理工具
  4. grunt-contrib-cssmin
    • css压缩工具
  5. grunt-contrib-copy
    • 文件复杂工具
generated by haroopad
任务 工具 文件 时候 脚本 运行 接下来 概念 项目 东西 前端 原因 只是 命令 实际 实际上 就是 环境 资料 归类 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 天津市摩尔互联网科技 亿人帮互联网科技有限公司 中国互联网科技股 以房互联网科技 壹账通互联网科技 电子科技大学互联网 互联网科技logo设计 时间互联网络科技 深圳天众互联网科技公司 融贸通互联网科技 哈尔滨秒房互联网科技有限公司 富国互联网科技创新基金 国大互联网教育科技有限公司工作 互联网科技实习生岗位 从那以后互联网科技有限公司 工业互联网科技成果转化 广西科技产业互联网是什么 互联网时代高科技布局 杭州融税互联网科技有限公司 六子台科技互联网展会 互联网科技的发展 狮子座互联网科技 互联网科技小贷 北京禾田雨橡互联网科技 长沙茂晟互联网科技有限公司 华中科技大学互联网的牛人 杭州融税互联网科技有限公司 华人运通互联网科技公司 瑞安市蟠桃会互联网科技有限公司 广州全民伙伴互联网科技有限公司
0