現在、Backbone.jsプロジェクトの最初の仕事が開始されています。実際、それは奇妙なjQueryのものから離れた最初の主要なJavaScriptプロジェクトです。Backbone.jsプロジェクトを構築するにはどうすればよいですか?
とにかく、私たちは私たちのもののアーキテクチャに苦労しています。ものを整理する最善の方法は何ですか?
私たちは、別々のファイルのすべてをフォルダ内で分割して起動しました。ビュー、モデル、コレクション、ルーターなどが含まれています。次に、すべてをindex.html
に含めます。しかし、この問題は、すべてのファイルでドキュメント準備完了イベントを確認する必要がないということです。これはこれを行う最善の方法ですか?
はここに例を示します
このファイルはPageModel
と呼ばれ、最初の行が間違っているようだ...
$(function(){
app.models.Page = Backbone.Model.extend({
//stuff
});
});
その後、我々が持っている私たちのindex.html
に:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<link href="assets/css/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var app = app || {};
app.models = app.models || {};
app.collections = app.collections || {};
app.views = app.views || {};
app.routers = app.collections || {};
app.templates = app.templates || {};
app.models.griditems = app.models.griditems || {};
app.views.griditems = app.views.griditems || {};
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>
<script src="assets/js/libs/json2.js" type="text/javascript"></script>
<script src="assets/js/libs/underscore-1.1.7.min.js" type="text/javascript"></script>
<script src="assets/js/libs/backbone-0.5.3.min.js" type="text/javascript"></script>
<script src="assets/js/models/GridItemModel.js" type="text/javascript"></script>
<script src="assets/js/models/GalleryGridItemModel.js" type="text/javascript"></script>
<script src="assets/js/models/NewsGridItemModel.js" type="text/javascript"></script>
<script src="assets/js/models/VideoGridItemModel.js" type="text/javascript"></script>
<script src="assets/js/collections/GridCollection.js" type="text/javascript"></script>
<script src="assets/js/templates/Submenu.js" type="text/javascript"></script>
<script src="assets/js/templates/GalleryGridItemTemplate.js" type="text/javascript"></script>
<script src="assets/js/views/GridView.js" type="text/javascript"></script>
<script src="assets/js/views/GridItemView.js" type="text/javascript"></script>
<script src="assets/js/views/GalleryGridItemView.js" type="text/javascript"></script>
<script src="assets/js/views/VideoGridItemView.js" type="text/javascript"></script>
<script src="assets/js/routers/Router.js" type="text/javascript"></script>
<script src="assets/js/Application.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>
DOMReadyイベントでモデル/コレクション/ビュー/ルータを定義する必要はありません。 domが準備されているときだけ呼び出される必要があるのは、 'Backbone.history.start()'です。 – shesek