页面重新加载后未定义的主干和下划线

Backbone and underscore undefined after page reload

本文关键字:未定义 下划线 新加载 加载      更新时间:2023-09-26

我使用 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();
    });

主干未定义的原因可能是什么

以正确的顺序加载 jquery、underscore 和 Backbone 有点棘手。 我推荐托马斯戴维斯的方法: https://github.com/thomasdavis/backbonetutorials/tree/gh-pages/examples/modular-backbone