GruntJS前端自动化构建概要
注意,安装grunt-cli并不等于安装了 Grunt!Grunt CLI的任务很简单:调用与Gruntfile在同一目录中 Grunt。这样带来的好处是,允许你在同一个系统上同时安装多个版本的 Grunt。 比Shell脚本易懂 比XML灵活 而且,还存在一个问题,就是凡是在这里加载的模块,也同时出现在package.json文件中。如果使用npm命令卸载模块以后,模块会自动从package.json文件中消失,但是必须手动从Gruntfile.js文件中清除,这样很不方便,一旦忘记,还会出现运行错误。 而且,还存在一个问题,就是凡是在这里加载的模块,也同时出现在package.json文件中。如果使用npm命令卸载模块以后,模块会自动从package.json文件中消失,但是必须手动从Gruntfile.js文件中清除,这样很不方便,一旦忘记,还会出现运行错误。 非常多插件: 甚至有自动对Handlebars模版进行格式化的插件 例如, 利用grunt.event实现文件内容发生变更后,对相应文件进行编译、压缩等操作。 利用grunt.config实现了对特定变更文件的处理。 举例: 简化重复工作:JS、CSS合并压缩、JSHint代码质量检测、TDD式开发 符合前端趋势:LESS SASS CoffeeScript Dart Handlebars预编译 实现模块化 一些框架包括jquery、bootstrap、wordpress、SeaJS也是基于Grunt 正在通过Grunt构建 一些公司例如Twitter、Adobe在使用Grunt nodejs依赖:反过来也增加对nodejs的了解 IDE支持:新版本IntelliJ、WebStrom开始支持Grunt 1. HTML+CSS+JS编码 2. 浏览器调试 3.发布上线 -- 这个开发流程可以很好的满足传统的前端开发 前端自动化构建 —— 初探Grunt 构建工具 Why Grunt? 为什么是Grunt? 传统的开发流程 调试 上线 编码 追求更好的用户体验 1. 运用新技术改善交互: 2. 优化代码提升性能: 压缩 合并 预编译 + = 当传统流程遇见新技术 调试 上线 编码 手动 SASS/LESS/CoffeeScript 编译 手动 Handlebars 模版预编译 手动 JSHint 代码质量检测 手动 Jasmine/QUnit 单元测试 手动 Uglify 对JavaScript、CSS压缩混淆 手动 HTMLMin 对HTML压缩 手动 imagemin 批量压缩图片 手动 合并静态文件,减少页面请求 手动修改文件引用路径 压缩 每一步,都要手动执行! 合并 编译 难道创造好的用户体验真的就那么难? Grunt简介 简单说,Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务。这可以简化工作流程,减轻重复性工作带来的负担。 Grunt的安装与运行 前提: Grunt需要Nodejs环境,这里假设你已经安装好了Nodejs和NPM,因为下面的代码需要在命令行中运行,所以推荐安装一个好用的Shell工具。 安装: 1. npm install -g grunt-cli 运行: 1. cd ~/workspace/project/WebApp 2. grunt build // 使用NPM安装 grunt-cli // 进入已配置Grunt模块的项目目录 // 运行Grunt, 执行相应任务 小贴士:Windows下推荐使用Gow, MinGW MSYS, Cygwin等工具替代cmd.exe Grunt 项目的结构 注意: Grunt的核心模块并非全局安装,而是在项目中单独存在,保持项目使用Grunt插件与Grunt核心模块版本一致,避免由于版本不同造成冲突。同时,Grunt是非侵入式的,对项目原有结构影响较小。 WebApp/ ├─ grunt/ │ ├─ Gruntfile.js │ ├─ package.json │ └─ node_modules/ │ ├─ grunt/ │ ├─ grunt-contrib-sass/ │ └─ ... ├─ res/ │ ├─ theme/ │ ├─ common/ │ └─ ... ├─ index.html └─ ... // 推荐将Grunt配置在前端WebApp的根目录 // Grunt的任务配置文件 // 项目信息, 模块依赖声明 // 存放相关模块// Grunt的
您可能关注的文档
- genetherapy概要.ppt
- generegulation10.11.2011概要.ppt
- GenePulseXcell电穿孔概要.ppt
- GH600型号割草机的高压测试过程分析-副本-副本概要.doc
- gg第三部分:肝脏常见肿瘤的影像学诊断概要.ppt
- GM(1,1)灰色系统及其预测概要.ppt
- GMP培训-记录概要.ppt
- GMP简介与记录填写概要.ppt
- Geomagicstudio软件操作指南概要.doc
- GLP-1受体激动剂,何时用?用多久?(GSA)概要.ppt
- 人教版八年级上册历史精品教学课件 第六单元 中华民族的抗日战争 第17课 七七事变与全民族抗战 (6).ppt
- 人教版八年级上册历史精品教学课件 期末专题复习 专题二 中国人民近代化的探索 (2).ppt
- 人教版八年级上册历史精品教学课件 第二单元 近代化的早期探索与民族危机的加剧 第5课 甲午中日战争与列强瓜分中国狂潮 (2).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 大概念引领下的大单元复习 (4).ppt
- 人教版八年级上册历史精品教学课件 第七单元 人民解放战争 第21课 人民解放战争的胜利 (2).ppt
- 人教版八年级上册历史精品教学课件 第三单元 资产阶级民主革命与中华民国的建立 第10课 中华民国的创建 (2).ppt
- 人教版八年级上册历史精品教学课件 第四单元 新民主主义革命的开始 第12课 新文化运动 (3).ppt
- 第四组塑料低温脆化温度测试详解演示文稿.ppt
- 第消费者行为演示文稿.ppt
- 第一部分用搜索方法求解问题演示文稿.ppt
最近下载
- 2026新疆生产建设兵团建设工程(集团)有限责任公司员工招竞聘15人备考题库(第五批次)及参考答案详.docx VIP
- 2025 年美国骨科医师学会(AAOS)肩袖损伤临床实践指南解读.pdf VIP
- 电气设备仿真:电缆仿真_(3).电缆电气参数计算.docx
- 甘肃《民用建筑装配式内装修技术标准》DB62T 3226-2022.doc VIP
- 大型活动安保工作流程与分工.docx VIP
- 《行政执法监督条例》解读课件.pptx VIP
- 陕西省2024年中考数学试卷【附真题答案】.docx VIP
- 基于PLC的新型工业码垛机器人控制系统设计.docx VIP
- 北师大版(2024)八年级上册物理第1~5章共5套单元测试卷汇编(含答案).pdf VIP
- 2026新疆生产建设兵团建设工程(集团)有限责任公司员工招竞聘15人备考题库(第五批次)(含答案详解.docx VIP
原创力文档

文档评论(0)