2012-04-23 2 views
2

나는 Require.js 구현에 대한 나의 첫 번째 시도에 앉아 있고이 튜토리얼 (herehere)을 모두 따르려고 노력하고 있지만 실제로 작동하지 않습니다. jquery.jsjquery-mobile 및 dependend 플러그인을 require.js와 함께 사용하는 방법은 무엇입니까?

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

<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와에 따라한다) 10

내부 jquery.js

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

그리고

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

은 내가 지금까지 그것을 만든 행복 해요 app.js하지만 정말 싶습니다 클릭하는 모든 것을 볼 수 있습니다. 지금 당장 오류가 발생합니다 모바일이 정의되지 않았습니다 내 jquery-mobile.js 파일 안에 있습니다. 나는 Jquery-Mobile이 실제로있는 곳이 아니기 때문에 ...

누군가가 빛을 비출 수 있습니까? 고마워요!

편집 : 여기
sample setup

답변

6

에 대한 링크입니다 순간 JQM에서 단지 JQuery와에 대해 아무것도 모르는 나에게 보인다. 그래서 당신은 오류가 발생합니다. 이러한 로더를 사용하려면 하나의 require 블록에 jquery를로드해야 할 수도 있습니다. 하나 이상의 요구 사항을 사용하여 jqm 콜백로드보다 필요합니다. 그러나 이러한 래퍼 로더가 jqm을 사용하여 jquery를로드 할 필요는 없습니다.

첫 번째로드 jquery에서 주 js에서 jqm보다. 그 정도면 충분합니다. 또한 앱에서 정의 할 필요도 없습니다.

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에서 여전히 내 오류가 발생합니다. 반환되는 '모바일'은 정의되지 않았습니다 ... 여기서 무엇을 반환해야합니까? 나는 근원을두고있다. 잠시만 요. – frequent

+0

나는 로더를 제거해야하고 config에서 jquery.min 및 jquery-mobile.min 라이브러리에 대한 경로를 제공해야한다는 것을 의미합니다. – sleepwalker

관련 문제