2

私はこれについて多くのことを読んでおり、特にrequire.jsを使用したマリオネットアプリのセットアップに関する本を購入し、 githubでこの小さなハウツーをたどっていましたが、これはかなり簡単に思えました...しかし、何らかの理由でできません空のマリオネット プロジェクトを開始するのと同じくらい簡単に動作するようです。

私のプロジェクトは次のように構成されています。

  • ルートディレクトリ
    • モデル
    • ビュー
    • ライブラリ
      • ベビーシッター.js
      • backbone.js
      • jquery.js
      • marionette.js
      • require.js
      • text.js
      • tpl.js
      • アンダースコア.js
      • wreqr.js
    • コレクション
    • テンプレート
    • index.html
    • main.js

これが私のindex.htmlです:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script data-main="main" src="libs/require.js" type="text/javascript"></script>
</body>
</html>

そして私のmain.js:

require.config({
    paths:{
    jquery:"libs/jquery",
    underscore: "libs/underscore",
    backbone: "libs/backbone",
    text: "libs/text",
    tpl: "libs/tpl",
    marionette: 'libs/marionette',
    'backbone.wreqr' : 'libs/wreqr',
    'backbone.babysitter' : 'libs/babysitter'
    },
    shim:{
    underscore:{
        exports: "_"
    },
    backbone:{
        deps: ['underscore','jquery'],
        exports:'Backbone'
    }
    }
});

require(['marionette'],function(Marionette){


var Application = new Marionette.Application();

Application.on("initialize:after", function(){
    alert("Application has started!");
});

    Application.start();
});

AMD / RequireJS バージョンの Marionette.js をサイトからダウンロードしました

ブラウザーで index.html を開くと、コンソールに「参照エラー: バックボーンが定義されていません」というエラーが表示されます (marionette.js の 20 行目)。

私は何を間違っていますか?

4

3 に答える 3

0

Marionette にはバックボーンが必要なので、shim または require 呼び出しに marionette を追加します。

shim:{
  marionette : ['backbone'],
  ...
}

また

require(['backbone', 'marionette'],function(Backbone, Marionette){
于 2013-11-04T17:03:51.237 に答える