Removendo a dependência jquery / zepto no backbone.router e views

Existe uma versão bifurcada / mantida do backbone que elimina completamente a necessidade de jquery ou zepto para usar o roteador e as visualizações?

Eu não me importaria de usar o backbone, mas de jeito nenhum eu iria forçar uma dependência jquery na minha página apenas para usá-lo.

Se uma solução não existe, alguém pode postar uma essência do que precisa ser mudado exatamente?

questionAnswers(3)

Se você quiser que o Backbone manipule a manipulação de DOM, os eventos DOM e as solicitações AJAX, você precisará de outra biblioteca para fazer isso. Ele não precisa ser o jQuery ou o Zepto - o Backbone também suporta o Ender, e você poderia, teoricamente, usar qualquer biblioteca que possa fazer a seleção do DOM e suportar um subconjunto de métodos no estilo do jQuery. Um rápido olhar através docódigo fonte anotado mostra que você precisa dos seguintes métodos:

$(selector)$.ajax()$(selector).find()$(selector).bind()$(selector).unbind()$(selector).delegate()$(selector).remove()$(selector).attr()$(selector).html()

Se você não quer que o Backbone lide com essas coisas, você pode facilmente remover os requisitos sobrescrevendo os métodos que os usam - por exemplo, você pode dispensar.attr() e.html() definindoBackbone.View.prototype.make = function() {}. Ou simplesmente não useBackbone.View - Isso elimina a necessidade de tudo, mas$.ajax() (a menos que você esteja usandopushState, caso em que você precisa de vinculação de evento também).

Você pode tentar usarjBone, esta é uma biblioteca para manipulações DOM em navegadores modernos, jBone desenvolvido especialmente para Backbone, apenas 2kb gzipped e jQuery como API.

Sim, aqui está uma:https://github.com/inkling/backbone.native. É um pequeno adaptador que permite que o Backbone funcione, contando apenas com APIs DOM nativas.

yourAnswerToTheQuestion