kissy modularization part2

17
KISSY Modularization part 2 - optimzation [email protected]

Post on 12-Sep-2014

185 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: kissy modularization part2

KISSY Modularizationpart 2 - optimzation

[email protected]

Page 2: kissy modularization part2

之前浏览器下的问题

• 首屏闪烁

• 链接数过多

Page 3: kissy modularization part2

链接数

Page 4: kissy modularization part2

使用工具进行优化

• grunt-kmc

• 合并文件

• 动态 combo

Page 5: kissy modularization part2

• 合并项目文件

Page 6: kissy modularization part2

合并文件

• 适合具备明确的入口文件

• Gruntfile.js

Page 7: kissy modularization part2

modules.js

• 描述项目合并后文件外部依赖

Page 8: kissy modularization part2

index.js

• 入口模块以及其依赖的本地模块

Page 9: kissy modularization part2

应用

• 引入 seed.js modules.js

• 配置 combine true

• http://localhost:8111/?concat=1

Page 10: kissy modularization part2

• 动态 combo

Page 11: kissy modularization part2

动态 combo

• 适合多入口或无入口应用或需要后期动态加载

• Gruntfile.js

Page 12: kissy modularization part2

Module.js

• 包含项目所有的模块的内部依赖与外部依赖

Page 13: kissy modularization part2

应用

• 引入 seed.js modules.js

• 配置 combine true

• http://localhost:8111/?combo=1

Page 14: kissy modularization part2

• 首屏闪烁

Page 15: kissy modularization part2

加载 css

• 异步加载 css 造成闪烁

Page 16: kissy modularization part2

加载 css

• 使用 importStyle 配置 modules.js 同步 combo 加载 css

• 对首屏用到的所有模块调用 importStyle

Page 17: kissy modularization part2

大规模应用优化

• Gallery/mini 模块?

• 打包进项目入口文件

• 动态 combo• 合并 gallery/mini 模块的 modules.js 到项目 modules.js