`

如何调试KISSY组件的代码?

 
阅读更多

http://highsea90.com/index.php/archives/1680

 

kissy
如果你是Gallery组件开发者,你的组件可能会被很多页面使用,任何用到你的组件的页面都可能需要你的调试。KISSY的组件代码如何快速调试,本文将带给你一些指引。

如果你是Gallery组件开发者,你的组件可能会被很多页面使用,一方面大家在享受你的代码带来的便利,另一方面,也在考验你代码在各种环境中的可靠性。也就是说,任何用到你的组件的页面都可能需要你的调试。

淘宝首页的首焦轮播使用了我开发的Slide组件,他们报bug给我时,有没有一键式方法调试slide.js

最直接的方法当然是用fiddler创建本地映射,但是淘宝首页发起的请求是一个Combo链接,类似:

http://g.tbcdn.cn/??tb/global/2.2.22/global-min.js,s/kissy/gallery/slide/1.2/index-min.js

如何为Combo链接中的某个文件创建映射(到本地)?

KISSY Gallery 组件构建工具最新一次更新便提供了这样轻巧的调试环境,一键启动服务,调试非常方便。来看如何在淘宝首页调试本地的Slide代码

1,首先准备环境

安装grunt和Yeoman

npm install yo grunt-cli -g

安装generator-kissy-gallery

npm install generator-kissy-gallery -g

2,配好浏览器端环境

两个方法,第一个方法,配 host 到本地

127.0.0.1 a.tbcdn.cn

这当然很好理解,第二个方法,给浏览器配置代理

2

注意,这里代理的端口是8080,这种方法主要是提供给手机终端调试用(手机中当然没办法配host)

3,checkout 组件源代码

git clone https://github.com/jayli/slide.git

4,补全node_modules

进入到slide目录中,执行

npm install

5,启动服务

在slide目录下执行

grunt debug

注意:Mac和linux下加sudo,并确保本机无其他服务占用80端口(flexcombo用)或8080端口(反向代理用),80和8080端口均可配置

6,修改源代码1.2/base.js 随便加个 debug 断点或alert()

7,打开淘宝首页

打开控制台,端点生效,Cool!

实现原理

解析Combo链接的服务使用了Flex-combo,反向代理服务使用了reserve-proxy,本地Grunt服务使用Grunt-flexcombo将二者整合到一起。

kissy

本地服务实际上有两部分组成,flex-combo服务(默认80端口)和反向代理服务(默认8080端口)。请求到达反向代理时,所有a.tbcdn.cng.tbcdn.cn的请求会被代理到80端口,由flex-combo去解析Combo链接,并决定哪些文件取本地、哪些文件取线上。

如上文所说,反向代理主要给移动终端和不便配host的终端使用,浏览器如上文所述设置代理,手机终端这样设置代理:

4

开启本地服务的时候,同时启动了grunt watch监听,任何对源码的修改都会触发构建操作,保持要调试的代码是最新的。同时,在命令行窗口中可以看到所有请求的log都会打到屏幕上,方便我们的调试。

5


如果你是Gallery组件开发者,你的组件可能会被很多页面使用,一方面大家在享受你的代码带来的便利,另一方面,也在考验你代码在各种环境中的 可靠性。也就是说,任何用到你的组件的页面都可能需要你的调试。上面说到的技巧可以很大程度减少你的调试成本,赶快尝试一下吧。

分享到:
评论

相关推荐

    kissy源文件代码

    淘宝发布开源编辑器:...KISSY 目前基于 YUI 2.x 开发,目标是打造一系列小巧灵活、简洁实用、使用起来让人感觉愉悦的 UI 组件,目前已有 CSS 基础框架、搜索提示 Suggest 和 KISSY Editor 这个富文本编辑器等组件。

    淘宝KISSY动画组件SnakeSlider

    KISSY“轮播组件”,用于滚动展示图片,例如:焦点图。 引用了KISSY框架 SnakeSlider是一个可定制复杂动画的轮播组件,支持在切换显示/隐藏切片时分别显示不同动画,基于LayerAnim组件实现动画效果。

    js KISSY框架阿里云滑动下拉导航菜单效果代码

    js KISSY框架阿里云滑动下拉导航菜单效果代码 js KISSY框架阿里云滑动下拉导航菜单效果代码 js KISSY框架阿里云滑动下拉导航菜单效果代码 js KISSY框架阿里云滑动下拉导航菜单效果代码

    异步上传组件uploader基于kissy

    异步上传组件uploader基于kissy,拥有flash,iframe,html5三种方式

    提示补全组件:Kissy Suggest

    NULL 博文链接:https://leon1509.iteye.com/blog/436009

    淘宝KISSY前端开发框架

    KISSY提供稳定的核心,包括 oo、dom、Event、Anim、Ajax 等;强大且易用的脚本加载器,特有的 loader;丰富的UI组件,包括 Switchable、Overlay、Draggable and ...KISSY具备模块化、高扩展性、组件齐全等特性。

    开源的javascript项目Kissy介绍

    kissy简介 kISSY是什么? KISSY是一个开源的javascript项目,其主体是一个前端UI...从代码上来看,kissy.js和lang.js以后的其它模块,并没有任何的变化,因此如果仅是将kissy当成一个UI系统来使用,你可以参考上面的

    KISSY.Suggest 仿百度、淘宝输入提示补全功能的组件及实例

    KISSY.Suggest 仿百度、淘宝输入提示补全功能的组件及实例!值得下载看看!资源免费,大家分享!! 更多免费资源 http://ynsky.download.csdn.net/

    js KISSY框架仿阿里云滑动下拉导航菜单效果代码.zip

    js KISSY框架仿阿里云滑动下拉导航菜单效果代码

    kissy_editor

    KISSY Editor 是开源项目 KISSY UI Library 的一个组件。KISSY 目前基于 YUI 2.x 开发,目标是打造一系列小巧灵活、简洁实用、使用起来让人感觉愉悦的 UI 组件。目前已有 CSS 基础框架、搜索提示 Suggest 和今天发布...

    Web常用UI库 kissy.zip

    Web常用UI库 kissy ,kissy 是淘宝一个开源的 JavaScript 库,包含的组件有:日历、图片放大镜、卡片切换、...

    kissy-1.4.8.zip

    kissy-1.4.8.zip,淘宝最新前端开发包

    KISSY 1.4.8

    KISSY 1.4.8,一个淘宝用的类似jQuery的前端框架

    tb-video-player:淘宝视频播放器KISSY组件

    tb-video-player 版本:1.5 教程: demo: changelog V1.5 修复一个页面上有多个播放器同时存在...兼容KISSY1.2.0及以下; V1.2 container支持DOM和Node对象; V1.1 增加视频封面配置项; 修复部分bug。 V1.0 首次发布

    kissy 框架

    淘宝发布开源编辑器:KISSY Editor,和我们在 WordPress 后台使用的富文本编辑器 TinyMCE 一样,它可以让我们在线编辑和格式化文本,但是相比 TinyMCE KISSY Editor 更加轻巧,更加适合国内的网络环境。

    淘宝宝贝描述编辑器 KISSY Editor 2.0 beta

    -----pagination.css // 组件相关的皮肤, 可定义多套, 里面如果用到图片请使用相对路径 | | |---------pagination.js // 组件代码 | | |---------pagination-part2.js // 如果组件源码有多个js文件, 也请放置此目录...

    Kissy 15天学会.zip

    Kissy 15天学会.zip欢迎下载!!!

    kissy editor 2.0

    淘宝帮派编辑器 kissy editor 2.0

    kissy-1.4.8.rar

    高发展前途的web前端开发利器--kissy,中文文档。拥有该文档后不必再上网到处找,一切尽在其中。

Global site tag (gtag.js) - Google Analytics