Submit Search
Upload
基于yui combo的代码自动压缩及合并
•
15 likes
•
1,695 views
jay li
Follow
前端开发 combo yui 压缩 合并
Read less
Read more
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
电子书项目总结 前端
电子书项目总结 前端
jay li
前端,架构、框架与库(周爱明)[懒懒交流会#38]
前端,架构、框架与库(周爱明)[懒懒交流会#38]
taobao.com
向jquery学习
向jquery学习
jay li
前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关
jay li
Dive into kissy
Dive into kissy
jay li
美团前端架构简介
美团前端架构简介
pan weizeng
Kissy design
Kissy design
yiming he
Graphic programming in js
Graphic programming in js
jay li
Recommended
电子书项目总结 前端
电子书项目总结 前端
jay li
前端,架构、框架与库(周爱明)[懒懒交流会#38]
前端,架构、框架与库(周爱明)[懒懒交流会#38]
taobao.com
向jquery学习
向jquery学习
jay li
前端调试工具,编码相关,性能相关
前端调试工具,编码相关,性能相关
jay li
Dive into kissy
Dive into kissy
jay li
美团前端架构简介
美团前端架构简介
pan weizeng
Kissy design
Kissy design
yiming he
Graphic programming in js
Graphic programming in js
jay li
学习 CodeIgniter
学习 CodeIgniter
BruceWolf
谈谈模块化
谈谈模块化
衡锋 阳
面向未来的前端类库开发 — KISSY 类库构想与实践
面向未来的前端类库开发 — KISSY 类库构想与实践
taobao.com
KISSY Mechanism
KISSY Mechanism
lifesinger
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
Javascript primer plus
Javascript primer plus
Dongxu Yao
前端杂谈
前端杂谈
salinet
kissy@2013
kissy@2013
yiming he
Build desktop app_by_xulrunner
Build desktop app_by_xulrunner
Rack Lin
從雛形到設計-了解您的使用者在想什麼
從雛形到設計-了解您的使用者在想什麼
Souyi Yang
Axure RP Prototyping Tool
Axure RP Prototyping Tool
Souyi Yang
编辑器设计Kissy editor
编辑器设计Kissy editor
taobao.com
a glance of Javascript module
a glance of Javascript module
zipeng zhang
KISSY Editor Design 2
KISSY Editor Design 2
yiming he
张勇 搜搜前端架构
张勇 搜搜前端架构
isnull
Clipper@datacon.2019.tw
Clipper@datacon.2019.tw
Wei-Yu Chen
编辑器设计2
编辑器设计2
yiming he
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
你的 JS 該減肥了!5個提升網頁載入速度的技巧 - Modern Web 2020
你的 JS 該減肥了!5個提升網頁載入速度的技巧 - Modern Web 2020
Shubo Chao
Kissy editor开发与设计
Kissy editor开发与设计
yiming he
犀牛书第六版
犀牛书第六版
jay li
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践
jay li
More Related Content
Similar to 基于yui combo的代码自动压缩及合并
学习 CodeIgniter
学习 CodeIgniter
BruceWolf
谈谈模块化
谈谈模块化
衡锋 阳
面向未来的前端类库开发 — KISSY 类库构想与实践
面向未来的前端类库开发 — KISSY 类库构想与实践
taobao.com
KISSY Mechanism
KISSY Mechanism
lifesinger
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
Javascript primer plus
Javascript primer plus
Dongxu Yao
前端杂谈
前端杂谈
salinet
kissy@2013
kissy@2013
yiming he
Build desktop app_by_xulrunner
Build desktop app_by_xulrunner
Rack Lin
從雛形到設計-了解您的使用者在想什麼
從雛形到設計-了解您的使用者在想什麼
Souyi Yang
Axure RP Prototyping Tool
Axure RP Prototyping Tool
Souyi Yang
编辑器设计Kissy editor
编辑器设计Kissy editor
taobao.com
a glance of Javascript module
a glance of Javascript module
zipeng zhang
KISSY Editor Design 2
KISSY Editor Design 2
yiming he
张勇 搜搜前端架构
张勇 搜搜前端架构
isnull
Clipper@datacon.2019.tw
Clipper@datacon.2019.tw
Wei-Yu Chen
编辑器设计2
编辑器设计2
yiming he
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
你的 JS 該減肥了!5個提升網頁載入速度的技巧 - Modern Web 2020
你的 JS 該減肥了!5個提升網頁載入速度的技巧 - Modern Web 2020
Shubo Chao
Kissy editor开发与设计
Kissy editor开发与设计
yiming he
Similar to 基于yui combo的代码自动压缩及合并
(20)
学习 CodeIgniter
学习 CodeIgniter
谈谈模块化
谈谈模块化
面向未来的前端类库开发 — KISSY 类库构想与实践
面向未来的前端类库开发 — KISSY 类库构想与实践
KISSY Mechanism
KISSY Mechanism
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
Javascript primer plus
Javascript primer plus
前端杂谈
前端杂谈
kissy@2013
kissy@2013
Build desktop app_by_xulrunner
Build desktop app_by_xulrunner
從雛形到設計-了解您的使用者在想什麼
從雛形到設計-了解您的使用者在想什麼
Axure RP Prototyping Tool
Axure RP Prototyping Tool
编辑器设计Kissy editor
编辑器设计Kissy editor
a glance of Javascript module
a glance of Javascript module
KISSY Editor Design 2
KISSY Editor Design 2
张勇 搜搜前端架构
张勇 搜搜前端架构
Clipper@datacon.2019.tw
Clipper@datacon.2019.tw
编辑器设计2
编辑器设计2
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
你的 JS 該減肥了!5個提升網頁載入速度的技巧 - Modern Web 2020
你的 JS 該減肥了!5個提升網頁載入速度的技巧 - Modern Web 2020
Kissy editor开发与设计
Kissy editor开发与设计
More from jay li
犀牛书第六版
犀牛书第六版
jay li
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践
jay li
Jswebapps
Jswebapps
jay li
潜力无限的编程语言Javascript
潜力无限的编程语言Javascript
jay li
Responsive Web UI Design
Responsive Web UI Design
jay li
深入剖析浏览器
深入剖析浏览器
jay li
HTML/CSS/JS基础
HTML/CSS/JS基础
jay li
淘宝前端技术巡礼
淘宝前端技术巡礼
jay li
F2e security
F2e security
jay li
中国元素在设计中的应用 -如瑟
中国元素在设计中的应用 -如瑟
jay li
卫银霞 -统计数字会撒谎
卫银霞 -统计数字会撒谎
jay li
编码大全 拔赤
编码大全 拔赤
jay li
小控件、大学问
小控件、大学问
jay li
Mobile UI design and Developer
Mobile UI design and Developer
jay li
Javascript autoload
Javascript autoload
jay li
Html5form
Html5form
jay li
Slide
Slide
jay li
Js doc toolkit
Js doc toolkit
jay li
新业务新员工培训 Banner设计
新业务新员工培训 Banner设计
jay li
夏之 专题设计
夏之 专题设计
jay li
More from jay li
(20)
犀牛书第六版
犀牛书第六版
淘宝移动端Web开发最佳实践
淘宝移动端Web开发最佳实践
Jswebapps
Jswebapps
潜力无限的编程语言Javascript
潜力无限的编程语言Javascript
Responsive Web UI Design
Responsive Web UI Design
深入剖析浏览器
深入剖析浏览器
HTML/CSS/JS基础
HTML/CSS/JS基础
淘宝前端技术巡礼
淘宝前端技术巡礼
F2e security
F2e security
中国元素在设计中的应用 -如瑟
中国元素在设计中的应用 -如瑟
卫银霞 -统计数字会撒谎
卫银霞 -统计数字会撒谎
编码大全 拔赤
编码大全 拔赤
小控件、大学问
小控件、大学问
Mobile UI design and Developer
Mobile UI design and Developer
Javascript autoload
Javascript autoload
Html5form
Html5form
Slide
Slide
Js doc toolkit
Js doc toolkit
新业务新员工培训 Banner设计
新业务新员工培训 Banner设计
夏之 专题设计
夏之 专题设计
基于yui combo的代码自动压缩及合并
1.
基于YUI3和combo的代码压缩及合并
拔赤 bachi@taobao.com http://www.uedagazine.com 2010-05-29
2.
关于我 • 李晶,花名拔赤 –
淘宝前端工程师 – Blog: http://www.uedmagazine.com – Msn: lijing00333@163.com
3.
•
可维护性和性能之间的平衡 • YUI combo • 模块树 • 开发环境中的combo+minify • 实例
4.
• 可维护性和性能之间的平衡 •
YUI combo • 模块树 • 开发环境中的combo+minify • 实例
5.
可维护性,我们应当这样: 1,OO(代码易读) 2,从应用抽象出组件(组件重用) 3,功能的颗粒化(多人协作) 4,图片的零存(更改简单) 5,脚本无压缩(方便调试)
6.
性能,我们应当这样: 1,面向DOM(保证DOM操作效率) 2、3,更少的脚本文件(减少http请求数) 4,图片合并(减少http请求数) 5,压缩脚本(js、css瘦身)
7.
我们的取舍? 可维护性
vs 性能
8.
• 可维护性和性能之间的平衡 • YUI
combo • 模块树 • 开发环境中的combo+minify • 实例
9.
Why YUI &
combo? • Why YUI – 延时加载脚本(更饱和的利用缓存) – 模块化(更适于团队开发) • Why combo – 减少http请求数
10.
combo handler <script src="http://cn.yimg.com/i/yui/3.0.0/build/yui/yui‐min.js"></script> <script src=http://cn.yimg.com/i/yui/3.0.0/build/oop/oop‐min.js></script> <script src="http://cn.yimg.com/i/yui/3.0.0/build/dom/dom‐min.js"></script>
<script src="http://cn.yimg.com/combo?i/yui/3.0.0/build/yui/yui‐ min.js&i/yui/3.0.0/build/oop/oop‐min.js&i/yui/3.0.0/build/dom/dom‐ min.js"></script>
11.
• 可维护性和性能之间的平衡 • YUI
combo • 模块树 • 开发环境中的combo+minify • 实例
12.
YUI模块树 模块树示意 Y.addmojo({
slide:{ path:'js/slide.js', requires:['tab','widget','plugin'] }, tab:{ path:'js/tab.js', requires:['node'] }, my_app:{ path:'my_app.js', requires:['slide'] } });
13.
YUI模块树 续 • 脚本排序
– ..,node,tab,widget,plugin,slide,my_app • 脚本合并 – http://your_cdn/combo?node.js&tab.js&wi dget.js&plugin.js&slide.js&my_app.js
14.
YUI combo的缺憾 1,没有自动压缩,上线之前要手动压缩脚本 2,自定义的modules不会被combo
15.
对YUI3-loader的hack • 让YUI可以combo所有的脚本 –
loader.js 1930行
16.
• 可维护性和性能之间的平衡 • YUI
combo • 模块树 • 开发环境中的combo+minify • 实例
17.
开发环境中的combo • Combo的模拟
开发环境a.tbcdn.cn 线上a.tbcdn.cn 客户端 oop.js header.js oop.js oop.js header.js … oop.js header.js header.js http://a.tbcdn.cn/combo.php?yui/3.0.0/build/oop/oop.js &tbra/2.1/header/header.js
18.
开发环境中的minify • Jsmin
– http://github.com/rgrove/jsmin-php/ • Cssmin – http://code.google.com/p/cssmin/
19.
开发环境中的combo+minify • Combo http://a.tbcdn.cn/combo.php?yui/3.0.0/build/oop/oop.js &tbra/2.1/header/header.js • Minify http://a.tbcdn.cn/minify.php?yui/3.0.0/build/oop/oop.j s&tbra/2.1/header/header.js
20.
相关资源 - minify •
Combo+minify – http://code.google.com/p/minify/
21.
•
可维护性和性能之间的平衡 • YUI combo • 模块树 • 开发环境中的combo+minify • 实例
22.
淘宝彩票 – 时时彩 •
http://a.tbcdn.cn/app/dp/lot/ssc/demo/ssc_none.html – Ctrl+F5 Without combo
23.
淘宝彩票 – 时时彩
续 • http://a.tbcdn.cn/app/dp/lot/ssc/demo/ssc.html – Ctrl+F5 With combo
24.
淘宝彩票 – 时时彩
续 • combo+minify – http://a.tbcdn.cn/app/dp/lot/ssc/demo/ssc.html combo & minify
25.
淘宝无combo • 保存开发环境的combo mini文件 •
另存到cdn中 • 打开COMBO_SCRIPT配置
26.
• 你还在手动压缩脚本吗? • 你还在手动合并脚本吗? •
那么你早就out了
27.
Q&A
Download now