这个博客已经过去了很久……

不过,你可以通过以下方式找到我

现在的位置: 首页 > 谈前端 > JavaScript > 正文
本地 KISSY 开发
2013年11月17日 JavaScript ⁄ 共 1720字 等你评论

环境: Node/Ant/Java

KISSY 的开发依赖 nodejs 提供 web 环境,包括静态文件访问以及 ajax 动态请求测试 以及 ant 提供打包工具

所以请确保你配置了以下环境:

  • Node.js
  • JDK7

将 tools/ant/bin 加入到环境变量 path 中

本地 KISSY 开发

fork KISSY 项目 https://github.com/kissyteam/kissy

进入一个目录,例如

cd /path/my

clone KISSY 到本地

git clone git@github.com:username/kissy.git

username 为你的 github 用户名

进入新 clone 的 kissy 目录

cd kissy

添加 KISSY 官方 master

git remote add remote git://github.com/kissyteam/kissy.git

开始新 patch 前要和官方主干同步

git pull remote master

安装 node 依赖模块

npm install

启动 web 环境

npm start

如果报告 Unknown Encoding 错误,请升级node环境到最新版。

本地kissy组件开发

 

现在打开 KISSY 集成测试用例: http://localhost:8888/kissy/test

你也可以测试单个模块, 例如 dom: http://localhost:8888/kissy/src/dom/sub-modules/base/tests/runner/test.jss

你也可以查看单个模块的测试覆盖率, 例如 dom: http://localhost:8888/kissy/src/dom/sub-modules/base/coverage/runner/test.jss

kissy-test

新增模块

新增模块请复制已有模块的目录结构后,清楚 src,demo 等子目录的内容后添加模块(TODO 增加新增模块模版)。

在 src 目录下编写源码, demo 目录增加 demo , tests/runner/test.jss 申明依赖的外部 css 和外部 js, 修改 build.xml 中的当前模块名, sub-modules 中增加子模块。

最后重启 web 环境

可选: build KISSY

cd src/
ant build-all

build KISSY 时间很长,需要耐心等待

对应于 github issues 提供 patch

永远不要把 patch 提交到你的主干!

一定要使用 issue 分支!

确保你的主干和官方同步

git checkout master
git pull remote master

建立一个新分支,该分支名为 issue_ 加 issue 数字

git checkout -b issue_###

"###" 为你提交的 issue 号码,现在你已经切换到了 issue_### 分支

在对应模块的 tests/specs 下面添加测试用例

然后根据测试用例对相应模块源码进行修改(TDD)

运行 http://localhost:8888/kissy/src/$module$/tests/runner/test.jss -> all test cases is green and passed.

继续看下你的用例的覆盖率

运行 http://localhost:8888/kissy/src/$module$/coverage/runner/test.jss

$module$ 为你修改的模块名

下面对你修改的代码进行 stage 操作

git add filename

注意不要使用: git add .

一旦你 stage 了你修改的所有文件,运行以下命令提交

git commit -m "简介. Fixes #xxx"

对于多行注释,只要运行 git commit 然后在其后的界面输入多行注释

然后把你的 patch 提交到你的 github

git push origin -u issue_###

在进行下个 patch 开始前,请切换到 master 分支

git checkout master

最后到的 github 界面,点击 pull request 即可

pull request 前请确保代码符合规范并且单元测试通过

浏览器支持列表

  • chrome/firefox/opera/safari 最新版本以及次新版本
  • mobile safari/mobile chrome 最新版本以及次新版本
  • ie6+

友荐云推荐
×