1

バックボーンと他のスクリプトをロードするためにrequire.jsを使用していますが、ページのリロード後にバックボーンが定義されていないというエラーが表示されます。

ヘッダーに次のスクリプトがあります

//App namespace
var MYU = MYU || {};
//configuration namespace
MYU.Config = MYU.Config || {};
//views namespace
MYU.Views = MYU.Views || {};
//controllers
MYU.Controller = MYU.Controller || {};
//configuration
MYU.Config = {
    site_url:"http://localhost/myunivacity/"
};

//Require.js configuration
require.config({
    paths : {
        'backbone': 'backbone',
        'underscore':'underscore',
        'text':'require/text',
        'myu':'myu'
    },
    baseUrl : MYU.Config.site_url+"assets/js"
});

そして、私のメインスクリプトはrequire.js経由でロードされます

<script type="text/javascript" data-main="<?=$script ?>" src="<?=site_url() ?>assets/js/require/require.min.js"></script>

$script 変数は、現在のページで使用されるスクリプトへのパスを保持します

作業しているページでは、スクリプトは次のようなものです

require(['underscore','backbone','controllers/cart','views/cart'], //Load dependecies
    function(){
      var cart = new MYU.Views.Cart();
    });

バックボーンが定義されていない原因は何ですか

4

1 に答える 1

1

jquery、アンダースコア、バックボーンを正しい順序でロードするのは少し難しいです。トーマス・デイビスのアプローチをお勧めします: https://github.com/thomasdavis/backbonetutorials/tree/gh-pages/examples/modular-backbone

于 2012-06-24T14:28:44.320 に答える