2

私はRequire.jsを実装する最初の試みに座っており、これらのチュートリアル(ここここ)の両方に従おうとしていますが、うまく機能していません。これは私がこれまでに持っているものです:

私のインデックスファイル内

<script type="text/javascript" data-main="../js/main" src="../js/libs/require/require.js"></script>

main.jsの内部

require.config({ baseUrl: "../js/",
  paths: {       
   "jq-loader":    "libs/jquery/jquery",
   "jqm-loader":   "libs/jquery-mobile/jquery-mobile",
   "someplug":     "libs/someplug/somplug",
   }
 });
// define app and dependencies??? - not sure what goes here? All plugins I'm using?
require(['app','order!libs/jquery/jquery', 'order!libs/jquery-mobile/jquery-mobile'], 

function(App){
    App.start();
    });

jquery.jsの内部

 define([ 'order!libs/jquery/jquery.min' ], function(){ return $; });

jquery.jsの内部(これはJqueryに依存します)

 // ERROR here in "mobile" being undefined
 define(['order!libs/jquery-mobile/jquery-mobile.min'], function(){ return mobile; });

そしてapp.js

define([ 'jq-loader', 'jqm-loader'], function($, mobile){
    var start = function() {
    $(document).ready(function() {
        alert("Hello world!");
        })
      }
     return {"start":start};
   });

これまでに達成できてうれしいですが、すべてがクリックされるのを本当に見たいと思います。現在、 jquery-mobile.jsファイル内でモバイルが定義されていないというエラーが発生しています。Jquery-Mobileは実際にはその場所に属していないためだと思います...

誰かが光を当てることができますか?どうもありがとう!

編集:
これが私のサンプルセットアップへのリンクです

4

1 に答える 1

6

その瞬間、jqmはjqueryについて何も知らないようです。したがって、エラーが発生します。そのようなローダーを使用する場合、1 つの require ブロックで jquery をロードする必要があるかもしれません。コールバック ロード jqm よりも、もう 1 つ必要です。ただし、jquery を jqm でロードするためにこれらのラッパーローダーは必要ありません。

メインの js では、jqm よりも最初に jquery をロードします。それで十分でしょう。また、app.js でそれらを定義する必要はありません。

Main.js は次のようになります。

require.config({ baseUrl: "../js/",
  paths: {  
   "app": "path to app",
   "jquery":    "path to jquery",
   "jqm":   "path to jqueryMobile",
   "someplug":     "libs/someplug/somplug",
   }
});
require(['order!jquery', 'order!jqm', 'app'], 

function(jquery, jqm, App){
    App.start();
    });

そしてあなたのapp.js:

define([], function(){
  var start = function() {
  $(document).ready(function() {
    alert("Hello world!");
  })
  }
  return {"start":start};
  });

役に立たない場合はお知らせください。ソースをどこかにアップロードしてください。よろしく。

于 2012-04-23T22:00:07.340 に答える