2012-04-23 14 views
2

私はRequire.jsを実装するための最初の試みをしていますが、私はこれらのチュートリアル(herehere)の両方に従おうとしていますが、うまく動作しません。これは私がこれまで持っているものです。jquery-mobileとdependendプラグインをrequire.jsと連携させるには?

インデックスファイル内部:

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

インサイドmain.js jquery.js

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

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のに依存します)jquery.js

// 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}; 
    }); 

インサイド10

私は私がこれまでにそれを作っている幸せなんだけど、本当に好きですクリックするとすべてが表示されます。現在、私はエラーが発生していますモバイルは定義されていません私のjquery-mobile.jsファイルの中に。私はJquery-Mobileが本当にどこに属していないのかと思います...

誰かが光を放つことができますか?どうもありがとう!

EDIT:
ここでは私のsample setup

答えて

6

へのリンクはその時点でjqmだけでjqueryのについて何も知らないように私には思えるです。だからあなたはエラーが発生します。そのようなローダーを使用する場合は、1つのrequireブロックでjqueryをロードする必要があるかもしれません。 1つ以上の要求を使用してjqmコールバックをロードするよりも。 しかし、これらのラッパーローダーがjqmでjqueryをロードする必要はありません。

最初のロードjqueryのメインjsでは、jqmより。それで十分だろう。また、app.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}; 
    }); 

は、それに役立つとどこかのソースをアップロードされません場合は私に知らせてください

Main.jsは次のようになります。よろしくです。 よろしくお願いします。

+0

これまでのところありがとうございます。これを今試みている。私はそれが動作しない場合は、再び投稿します。 – frequent

+0

私はまだjquery-mobile.jsの中で私のエラーを取得しています。戻り値 "mobile"は定義されていません...私はここに何を返さなければなりませんか?私はソースも入れています。分でしょう。 – frequent

+0

私はあなたのローダーを削除し、設定ではjquery.minとjquery-mobile.minのライブラリへのパスを提供することを意味しました。 – sleepwalker

関連する問題