15

RequireJS テキスト プラグインを動作させるのに問題があります。これはおそらくパス関連の問題 (または同様の明らかな問題) ですが、クロムコンソール (xhr がオンになっている) も firebug もそれ以外の情報を提供していないため、解決できません。

キャッチされないエラー: モジュールのロード タイムアウト: テキスト
http://requirejs.org/docs/errors.html#timeout

パスは問題ないと確信していますが、他の説明は見つかりません。誰かがこれをデバッグする方法を知っていますか?

サーバー側で node.js と Express を使用し、クライアント側でバックボーンと jQuery を使用しています。これらはすべて RequireJS で正しく読み込まれます。

4

5 に答える 5

4

パスの問題だと思います。私は同じセットアップ (ノード/エクスプレスおよびバックボーン) を使用しており、うまく機能しているようです。これが私のmain.jsファイルです:

require.config({
  paths: {
    jquery: 'libs/jquery-1.7.1.min',
    underscore: 'libs/underscore',
    backbone: 'libs/backbone',
    text: 'libs/text',
    templates: '../views',
    persist: 'libs/persist/persist'
  }
});
require([
  'app'
], function(App){
  App.initialize();
});

モジュール内からプラグインを呼び出す方法は次のとおりです。

define([
  'jquery',
  'underscore',
  'backbone',
  'collections/sub_elements',
  'collections/elements',
  'views/element',
  'text!../../../views/partials/_elements.html'
], function($, _, Backbone, sub_elementsCollection, collection, view,     template){

  var elementsView = Backbone.View.extend({
    // ... //
  });

  return elementsView;
});
于 2012-01-03T19:07:17.523 に答える
1

Windows phone にあるので、"waitSeconds" をより大きな数値に設定してみてください。

モバイルは遅いですが、require.js はデフォルトで 7 秒後にタイムアウトします。これは、多くの場合、モバイル エクスペリエンスやインターネット アクセスが遅いユーザーにとっては不十分です。

ドキュメント: http://requirejs.org/docs/api.html#config-waitSeconds

于 2012-11-06T04:05:36.187 に答える
1

私の元の答え

公式のrequire.js トラブルシューティング ページを参照して、こちらで同様の質問に回答しました

私の場合、このエラーは、開発者コンソールが1 つの macbook で複数の chrome バージョンの chrome で開いているときにのみ発生しました。他のデバイスでは問題は発生しませんでした。このため、その単一のコンピューターの構成を変更しても問題ありませんでした。

待機秒数

waitSeconds オプションは、無限 (0) または任意の値 (秒単位) として構成できます。デフォルト値は 7 秒です。設定例:

<script src="scripts/require.js"></script>
<script>
  require.config({
    baseUrl: "/another/path",
    paths: {
      "some": "some/v1.0"
    },
    waitSeconds: 0
  });
  require( ["some/module", "my/module", "a.js", "b.js"],
    function(someModule,    myModule) {
      //This function will be called when all the dependencies
      //listed above are loaded. Note that this function could
      //be called before the page is loaded.
      //This callback is optional.
    }
  );
</script> 

無限 (0) はタイムアウトを無効にするため、このオプションを製品コードに使用することはお勧めしません! コードをどこでも実行したり、タイムアウトを無効にしても問題が解決しない場合は、読み続けてください。

この問題の 3 つの一般的な原因

  • ロードしているモジュールのエラー
  • 構成の間違ったパス (チェックpathsbaseUrlオプション)
  • 構成の二重入力

このトピックの詳細については、上にリンクされている元の回答を確認してください。

于 2014-01-23T14:49:51.990 に答える