实施骨干路由器后网站停滞不前

时间:2017-03-07 09:37:53

标签: javascript backbone.js

我有一个单页面的应用程序。数据由节点服务器提供; front用javascript编码。最初我的整个网站都有一个独特的网址(尽管事实上我有很多屏幕,每个屏幕都是在预定义的div中用js生成的)。但是我被要求为每个屏幕生成一个URL,所以我决定使用Backbone(最新版本)路由器来实现(实现可以在下面找到)。

事实是,自从我实施此路由器后,有时会:

  • 该网站需要很长时间才能加载。像1分钟的东西。我已经看过Chrome开发者工具,网络部分。它告诉我,我的localhost是“停滞不前”
  • 未加载某些图片

一般情况下,新刷新后效果会更好,但并非总是如此。

有关这种情况发生原因的任何想法吗?

var BaseRouter = Backbone.Router.extend({

    language : undefined,

    routes: {
        '' : 'home',
        ... // All my routes
        },
        _bindRoutes: function() {
        var me = this;

        if (this.language) {
            _.each(_.keys(this.routes), function(key) {
                me.routes[me.language + '/' + key] = me.routes[key];
                delete me.routes[key];
            });
        }

        // Call native _bindRoutes method.
        Backbone.Router.prototype._bindRoutes.apply(this, arguments);
    },

    home: function () {
        navservice.loadScreen({page : 'home'});
    },
    ... // all routes implementations   
});

var EnglishRouter = BaseRouter.extend({
    language: 'en'
});

new BaseRouter();
new EnglishRouter();
Backbone.history.start();

0 个答案:

没有答案