SlideShare a Scribd company logo
1 of 28
前端构建工具
Frontend Build Tools
2015年6月
二手车事业部—前端组
目录
1 前端开发中的任务
2 Yeoman: Scaffolding
3 Grunt: The JavaScript Task Runner
4 Bower: Dependency Management
5 Demo
Backend Build Tools
你所了解的Build Tools有哪些??
Frontend Build Tools
F2E 例行工作
F5
F5
F5
Ctrl+F5
……..
F2E
开发 例行工作
代码检查
测试
文件合并
文件压缩
发布
Files
+jQuery +Bootstrap…
+test
+concat *.css *.js
+min.js *.html *.img
+rever(md5)
库文件下载
创建目录 +workspace
+jsLint cssLint htmHint
Online Tools
GUI Tools
工具的不足
1 Ctrl+C Ctrl+V 奔波于浏览器与编辑器之间
2 平台依赖 Mac Windows
3 功能单一,解决部分问题
4 不开源,得花点钱…
5 Repeat Yourself
Say No
WEB3.0 & 工业4.0
WEB 3.0 未来互联网应用的框架
智能制造2025"(工业4.0)
前端工程化--前端集成解决方案
项目规范
前端框架
模板框架
自动化工具
辅助开发工具
前端集成解决方案
准备工作
1. Javascript运行环境(runtime)
2. 基于Google V8引擎
分布式版本控制系统 1. Node Package Manager
2. node包管理和分发工具
3. 找到特定服务要使用的包进行下载
4. 安装以及管理已经安装的包
1 定义了web开发流程的开源工具
2 不仅仅是一个工具,而是一个工作流程
3 集成了最佳的前端工具和开发模板
4 项目开始阶段,可以基于现有的模板框架进行项目初始化的快速构建。
THE WEB'S SCAFFOLDING TOOL FOR MODERN WEBAPP
现在WEB APP的脚手架工具
1. npm install -g yo
2. npm install -g generator-angular
3. yo angular
many many generators
GENERATORS---生成器
Search in 1757 generators...
WRITING YOUR OWN YEOMAN GENERATOR
The JavaScript Task Runner
JavaScript 任务运行器
1 一个以任务处理为基础的命令行工具
2 把工作整合为不同的任务,开发时自动执行
3 完成需要重复进行的手动设置和发布任务,从而加速开发流程
4 让团队使用一套统一的命令,从而保证每个人写的代码符合统一标准
npm install -g grunt-cli
npm install grunt --save-dev
npm init
1. npm install -g grunt-init
2.git clone git://github.com/gruntjs/grunt-init-gruntfile.git
3. grunt-init grunt-init-gruntfile
grunt --version
npm install grunt-contrib-concat –save-dev
grunt concat
| package.json
npm install grunt-contrib-concat –save-dev
| Gruntfile.js
Sample Gruntfile: http://gruntjs.com/sample-gruntfile
wrapperconfiguration
readJson
task
target
load
run task
| Plugins
Grunt Plugins: http://gruntjs.com/plugins
4,560
Bower
A package manager for the web
1 一个前端库管理工具
2 很好的解决在 Web 应用中引用第三方库时可能遇到的问题
3 所提供的功能类似于 Apache Maven 等工具
Bower
npm install -g bower
A package manager for the web
bower install <package>
bower init
Bower.json
bower init
bower help
Bower
A package manager for the web
bower search
26853 matched results. Showing page 1 of 896.
26,853
Making Maven Grunt
• http://addyosmani.com/blog/making-maven-grunt/
https://github.com/wro4j/wro4j
https://code.google.com/p/wro4j/wiki/MavenPlugin
• https://github.com/allegro/grunt-maven-plugin
• https://github.com/eirslett/frontend-maven-plugin
https://github.com/bringking/requirejs-maven-plugin
Making Maven Grunt
• https://github.com/trecloux/yeoman-maven-plugin
http://wro4j.github.io/wro4j/
https://github.com/wro4j/wro4j-examples
前端工程师最希望在什么样的环境内办公?
双显示器,木质办公桌,机械键盘,合理膳
食,朝九晚五,清爽发型
1 HTML标签语义化,标签结构化
2 CSS规则体系化,组件化
3 JS框架的选择,模块化,高内聚,低耦合
代码可维护性
关于代码质量控制,首先建立规范统一代码风格,在此之上可以有自动化的检查工具,同时离不开人为的Code Review。
《编写可读代码的艺术》 《编写可维护的JavaScript》
《高性能网站建设指南》 《高性能网站建设进阶指南》
前端构建工具

More Related Content

Similar to 前端构建工具

常用开发工具介绍
常用开发工具介绍常用开发工具介绍
常用开发工具介绍haozes
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 longMeng-Ru (Raymond) Tsai
 
Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)ziggear
 
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例TIM WANG
 
C++ Builder 程式撰寫基礎 / C++ Builder Basic
C++ Builder 程式撰寫基礎 / C++ Builder Basic C++ Builder 程式撰寫基礎 / C++ Builder Basic
C++ Builder 程式撰寫基礎 / C++ Builder Basic YKLee3434
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Gelis Wu
 
Pure C# Hybrid WinForm Application
Pure C# Hybrid WinForm ApplicationPure C# Hybrid WinForm Application
Pure C# Hybrid WinForm Applicationssusere89d45
 
互联网产品经理常用软件及工作平台
互联网产品经理常用软件及工作平台互联网产品经理常用软件及工作平台
互联网产品经理常用软件及工作平台bluesnail007
 
用Bluemix DevOps 建立良好的團隊開發與版本控制
用Bluemix DevOps 建立良好的團隊開發與版本控制用Bluemix DevOps 建立良好的團隊開發與版本控制
用Bluemix DevOps 建立良好的團隊開發與版本控制Hsuan-Ju Lin
 
來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!Ko Ko
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)National Cheng Kung University
 
ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作艾鍗科技
 
2012 08 24_native_vs_adobeair
2012 08 24_native_vs_adobeair2012 08 24_native_vs_adobeair
2012 08 24_native_vs_adobeair綠茶 奶
 
C#语言与面向对象程序设计
C#语言与面向对象程序设计C#语言与面向对象程序设计
C#语言与面向对象程序设计WizRay
 
GaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdfGaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdfLeon Gao(高磊)
 
为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎Coconut Island
 

Similar to 前端构建工具 (20)

常用开发工具介绍
常用开发工具介绍常用开发工具介绍
常用开发工具介绍
 
Build Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratchBuild Your Own Android Toolchain from scratch
Build Your Own Android Toolchain from scratch
 
20141212 html5 及微軟跨平台佈局 long
20141212 html5 及微軟跨平台佈局   long20141212 html5 及微軟跨平台佈局   long
20141212 html5 及微軟跨平台佈局 long
 
ChatBot
ChatBotChatBot
ChatBot
 
Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)Web设计 2 工欲善其事(开发web项目工具的选择)
Web设计 2 工欲善其事(开发web项目工具的选择)
 
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
[DevOpsDays] 硬體產業的DevOps導入與實踐 - 以工控產業為例
 
C++ Builder 程式撰寫基礎 / C++ Builder Basic
C++ Builder 程式撰寫基礎 / C++ Builder Basic C++ Builder 程式撰寫基礎 / C++ Builder Basic
C++ Builder 程式撰寫基礎 / C++ Builder Basic
 
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
 
Pure C# Hybrid WinForm Application
Pure C# Hybrid WinForm ApplicationPure C# Hybrid WinForm Application
Pure C# Hybrid WinForm Application
 
軟體工程(總結篇)
軟體工程(總結篇)軟體工程(總結篇)
軟體工程(總結篇)
 
互联网产品经理常用软件及工作平台
互联网产品经理常用软件及工作平台互联网产品经理常用软件及工作平台
互联网产品经理常用软件及工作平台
 
用Bluemix DevOps 建立良好的團隊開發與版本控制
用Bluemix DevOps 建立良好的團隊開發與版本控制用Bluemix DevOps 建立良好的團隊開發與版本控制
用Bluemix DevOps 建立良好的團隊開發與版本控制
 
Cocoa on Rails 4th
Cocoa on Rails 4thCocoa on Rails 4th
Cocoa on Rails 4th
 
來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!
 
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
開放原始碼作為新事業: 台灣本土經驗談 (COSCUP 2011)
 
ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作ARM ® mbed™ 平台之研究及實作
ARM ® mbed™ 平台之研究及實作
 
2012 08 24_native_vs_adobeair
2012 08 24_native_vs_adobeair2012 08 24_native_vs_adobeair
2012 08 24_native_vs_adobeair
 
C#语言与面向对象程序设计
C#语言与面向对象程序设计C#语言与面向对象程序设计
C#语言与面向对象程序设计
 
GaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdfGaoLei\'s Summer Intern Report.pdf
GaoLei\'s Summer Intern Report.pdf
 
为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎为独立工作室构建跨平台引擎
为独立工作室构建跨平台引擎
 

前端构建工具

Editor's Notes

  1. Yeoman:自耕农,自由民; 义勇骑兵队成员 Google Bower:凉亭; 树荫处; 闺房 Twitter 澳洲bowerbird。公鸟会在交配前做一个巢。公鸟会收集某种母鸟特別喜爱的东西, 包括小花,黑苺,蜗牛壳,橡子等颜色鲜艳东東西,堆成一堆堆送給母鸟, 只是为了得到女士芳心。 Grunt: (猪等的)呼噜声; 咕哝,牢骚; 东印度野猪兽
  2. Yeoman: THE WEB'S SCAFFOLDING TOOL FOR MODERN WEBAPPS Bower: A package manager for the web
  3. Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。
  4. Web1.0-- 信息共享 Web2.0-- 信息共建 Web3.0-- 知识传承 Web4.0-- 知识分配 Web5.0-- 语用网 Web6.0-- 物联网 2013年4月推出 “工业4.0” 项目-面向2020年的德国制造业发展战略……
  5. 前端工程化代表着现在的前端开发不再是那种简单而无趣的远古生物,而是一个很性感的、让你情不自禁的想要去深入的美女……. 工作流就是一系列相互衔接、自动进行的业务活动或任务。一个工作流包括一组活动及它们的相互顺序关系,还包括流程及活动的启动和终止条件,以及对每个活动的描述。
  6. Yo --version
  7. http://wkylin.github.io/assets/gruntjs/gruntjs.html#/title http://wkylin.github.io/GruntJs/