3

キャッチされないエラー: モジュールの読み込みタイムアウト: order!libs/jquery/jquery-min order!libs/underscore/underscore-min order!libs/parse/parse-min libs/jquery/jquery-min libs/underscore/underscore-min libs /parse/parse-min バックボーン http://requirejs.org/docs/errors.html#timeout

Chrome の [ネットワーク] タブに 404 リクエストはなく、スクリプト エラーもないので、この問題の一般的なバグ/修正の範囲外です (requirejs.org によると)。

ネットワークを見ると、スクリプトが次の順序でロードされていることがわかります。

require.js
main.js
app.js <-- required by main.js
order.js <-- used in main.js to require the next 4 scripts (which aren't AMD)
jquery-min.js <-- required by main.js
underscore-min.js <-- required by main.js
backbone-min.js <-- required by main.js
parse-min.js <-- required by main.js
router.js
login.js
text.js

これは私には正しいようです。main.js以下は、、、app.jsおよびの私のコードですrouter.js

main.js:

// Author: Thomas Davis <thomasalwyndavis@gmail.com>
// Filename: main.js

// Require.js allows us to configure shortcut alias
// Their usage will become more apparent futher along in the tutorial.
require.config( {
    paths : {
        jQuery : 'libs/jquery/jquery-min',
        Underscore : 'libs/underscore/underscore-min',
        Backbone : 'libs/backbone/backbone-min',
        Parse : 'libs/parse/parse-min',
        templates : '../templates'
    }
});

require( [
    // Load our app module and pass it to our definition function
    'app',

    // Some plugins have to be loaded in order due to their non AMD compliance
    // Because these scripts are not "modules" they do not pass any values to the
    // definition function below
    'order!libs/jquery/jquery-min',
    'order!libs/underscore/underscore-min',
    'order!libs/backbone/backbone-min',
    'order!libs/parse/parse-min'
],
function(App) {
    // The "app" dependency is passed in as "App"
    // Again, the other dependencies passed in are not "AMD" therefore
    // don't pass a parameter to this function
    App.initialize();
});

app.js:

// Filename: app.js
define( [ 'jQuery', 'Underscore', 'Parse', 'router' ],
function($, _, Parse, Router) {
    var initialize = function() {

        Parse.$ = $;

        // Initialize Parse with your Parse application javascript keys
        Parse.initialize("HIDDEN", "ALSO HIDDEN");

        // Pass in our Router module and call it's initialize function
        Router.initialize();
    };

    return {
        initialize : initialize
    };
});

ルーター.js:

// Filename: router.js
define( [ 'jQuery', 'Underscore', 'Backbone', 'Parse', 'views/home/login', ],
function($, _, Backbone, Parse, loginView) {
    var AppRouter = Backbone.Router.extend( {
        routes : {
            // Default
            '*actions' : 'defaultAction'
        },
        defaultAction : function(actions) {
            // We have no matching route, lets display the home page
            loginView.render();
        }
    });

    var initialize = function() {
        var app_router = new AppRouter;
        Backbone.history.start();
    };
    return {
        initialize : initialize
    };
});
4

3 に答える 3

1

requirejs-jquery を使用してみてください。このバージョンの requirejs は、jquery で動作する準備ができており、shim config を使用してみてください。

このリンクを参照してください: https://github.com/jrburke/require-jquery

シム構成の例:

require.config({
  paths: {
    "jqueryUI": "libs/jquery-ui",
    "jquery": "libs/jquery-1.9.1",
    "underscore": "libs/underscore-min",
    "backbone": "libs/backbone-min"
  },
  shim: {
    jqueryUI:{
         deps: ["jquery"],
         exports:"$"
    },
    underscore: {
      exports: "_"
    },
    backbone: {
      deps: ["underscore", "jquery"],
      exports: "Backbone"
    }
  }

});
于 2013-08-29T17:01:58.170 に答える
0

このような問題に役立つオープンソースツールキットをリリースしました。これは、多くのオープンソースツールを組み合わせたものであり、すぐに使用できるrequirejsバックボーンアプリを提供します。

実行する単一のコマンドを提供します:dev Webサーバー、jasmineシングルブラウザーテストランナー、jasmine js-test-driverマルチブラウザーテストランナー、およびJavaScriptとCSSの連結/縮小。また、本番デバッグ用にアプリの縮小されていないバージョンを出力し、ハンドルバーテンプレートをプリコンパイルし、国際化をサポートします。

セットアップは必要ありません。それはうまくいきます。

http://github.com/davidjnelson/agilejs

于 2013-02-16T19:49:52.053 に答える
-8

my の外と my に JS ファイルをロードするように切り替えましmain.jsindex.html

<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.3/underscore-min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.0.0.min.js"></script>
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.2/backbone-min.js"></script>
<script data-main="js/main" src="js/libs/require/require.js"></script>
于 2012-06-06T06:30:24.820 に答える