螺旋
Spine是用于构建JavaScript网络应用程序的轻量级MVC库. 斯宾普给你结构,然后让你走出你的道路, 让你专注于有趣的东西: 建立真棒的网络应用程序.
斯宾克在网络应用架构和设计的方法上受到好评. 斯宾克的架构补充了脱钩组件等模式和CommonJS模块,明显地帮助了代码质量和可维护性.
图书馆是用 咖啡脚本尽管CoffeeScript并不一定需要开发应用程序 - 您可以使用你最熟悉或更喜欢的任意语言 - 文档和一些相关工具,比如 汉姆 财务报告和审定财务报表 脊椎 应用 照顾那些喜欢CoffeeScript语法的人.
学着点
文件往往不完整或只是谎言,等待发生。 可接触源代码减少知识依赖. 这是一个比起其他MVC框架,斯宾克非常出色的领域. 斯宾克很小;核心库以不到700行CoffeeScript代码进入. 它的写法是更喜欢可读性 而不是精巧的技巧, 并且它足够小,在一个相当小的时间内,你可以理解 所有的作品是如何一起工作的。 专门知识可在几天或几周内实现,而不是数月或数年。 由于这些原因,保持轻量级和简单对于斯宾普至关重要.
文件、使用和实例见: 脊椎骨. github.io
测试套件偶尔也可以提供额外的有用例子,特别是如果您正在寻找非coffeescript中的例子.
捐款
报告问题
要提交错误报告, 请访问 GitHub 问题页面。如果您可以附加代码(测试错误的大小写和修正,测试错误大小写和针对特性的拟议执行),那就太好了,但也可以复制出错误报告.
支持或帮助使用脊椎 斯宾克谷歌集团 而不是在Github上开出一期 如果你在那些地方发表文章,你更可能让更多的人进来,其他人可以更方便地从中受益.
克隆大师和运行测试套件
要开始为斯宾克做贡献,首先克隆了寄存器,并确保能运行测试套件. 如果你对吉特不熟悉,就去拜访他 Git 主页 用于下载您的平台的 Git.
首先,复制寄存器:
$ git clone git://github.com/spine/spine.git
$ cd spine
接下来, 您需要节点和 npm 来拉入测试库 。 一旦你都和那些放在一起 然后从斯宾普雷波目录中运行
$ npm install
这将安装 CoffeeScript 和 卡玛测试跑者。 。 。 .
此时您可以轻松地运行完整的测试套件
$ npm test
但这对于开发来说并不十分实用,因为它多次运行测试套房,再次运行了不同版本的jQuery.
更好的办法是安装Karma CLI
$ npm install -g karma-cli
这样你就可以用 $ karma start 以使用 jQuery 的最新稳定版本运行测试。 Karma会在背景中继续运行,每当您更改任何文件时都会重新运行测试.
Karma 服务器运行时, 您可以访问浏览器调试测试 http://localhost:9876/debug.html。 。 。 .
如果需要,还可以再次测试一个特定的版本的jQuery: $ JQUERY_VERSION=1.9.1 karma start。 。 。 .
协助编写斯宾克文件
也许最容易开始投稿的方法就是通过文件。 如果您在文档中找到打字器、错误或遗漏, 请提交拉动请求以修正 . 斯宾克网站这是主要文件,非常简单 温特史密斯 应用程序在 脊椎骨. github.io基本减记的熟悉度 可能是你需要做的改变.
向斯宾克编码投稿
建议的缴款程序基于 Ruby on Rails贡献指南。一般来说,请包含带有新特性或bugfixs的测试,在一个特性分支中工作,直到您准备提交或讨论您的代码,然后叉出寄存器,推出您的分叉,并发出拉出请求.
咖啡脚本
提交拉出代码请求时,请用 CoffeeScript 提交. 为了测试目的,需要构建已实现的js文件,但提交这些js文件是可选的.
假设您已经安装了节点(Node.js)和npm(npm),然后通过安装本地依赖性进行:
$ npm install
然后使用提供的构建脚本来编译您的 CoffeeScript 文件 :
$ cake build
$ cake watch
这些任务使用当地安装的 CoffeeScript 副本,以确保所有贡献者使用同版本的编译器.
图形
假设我要提交一个补丁来添加一些FeatureFix:
$ git checkout dev
特色分支应该从 dev 没有 master。如果您从主分支中分出,或者在主分支上建起,您将获得 CoffeeScript 源地图文件,这些文件很酷,但往往会破坏自动与 git 合并.
$ git checkout -b someFeatureFix
$ vim test/...
# (...add tests...)
$ cake watch
# (...this should recompile and changes you make in your CoffeeScript...)
-- figure out what spine module your changes belong in
$ vim src/spine.coffee
or
$ vim src/[otherSpineComponent].coffee
# (...add the feature/fix...)
$ open test/index.html
# (...make sure tests run for each component that was changed...)
# (...test in other browsers with various jquery versions if you feel like there is risk... )
$ git commit -m "Add Some Feature Fix"
接下来, 将斯宾克寄存器分叉,将你的分枝推向叉子:
$ git remote add <your user name> [email protected]:<your user name>/spine.git
$ git push <your user name> someFeatureFix
最后,从 GitHub 接口内向 dev 你们的贡献,已准备就绪,以便你们考虑、讨论和(希望)合并!