2013-05-22 4 views
0
//main.js 
    require.config({ 
     baseUrl: '../Scripts/lib/', 
     paths: { 
      'jquery': 'jquery-2.0.0', 
     } 
    }); 

define(['jquery', '../test1'], function ($, object) { 
    $(document).ready(function() { 
     $('#button').bind('click', function() { 
      object.getsomething(); 
     }); 
    }); 
}); 
// 

//main1.js 
    require.config({ 
     baseUrl: '../Scripts/lib/', 
     paths: { 
      'jquery': 'jquery-2.0.0', 
     } 
    }); 

define(['jquery', '../test1'], function ($, object) { 
    $(document).ready(function() { 
     $('#button').bind('click', function() { 
      object.getsomething2(); 
     }); 
    }); 
}); 
// 
//test1.js 
define(function() { 
    return { 
     getsomething: function(){ 
      $('#button').css({'background-color':'#000'}) 
     }, 
     getsomething2: function(){ 
      $('#button').css({'background-color':'#000'}) 
     } 
    } 
    //return shit; 
}); 
// 

//Default1.aspx 
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script> 

//Default2.aspx 
<script data-main="<%: ResolveUrl("~/Scripts/main1.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script> 

jquery를 사용하려는 모든 페이지에서 require.config를 선언해야합니까? 다른 페이지에서 main.js를 사용하기 위해 공유합니까? 나는 지금 잃어 버렸고, 모든 페이지 중에서 require.config를 공유한다고 가정하고 각 페이지마다 고유 한 js가 있어야한다고 생각하고 requirejs가 requirejs가 가질 수있는 js를 가리킬 수 있으므로 requirejs가 원하는 것을 넣는 데 도움이 될 것입니다. require.config? 1require.config는 모든 페이지에서 선언해야합니까?

//main.js 
    require.config({ 
     baseUrl: '../Scripts/lib/', 
     paths: { 
      'jquery': 'jquery-2.0.0', 
     } 
    }); 
}); 
// 

//Scripts/script1.js 
define("main",['jquery', '../test1'], function ($, object) { 
    $(document).ready(function() { 
     $('#button').bind('click', function() { 
      object.getsomething(); 
    }); 
}); 
// 


//Scripts/script2.js 
define(['jquery', '../test1'], function ($, object) { 
    $(document).ready(function() { 
     $('#button').bind('click', function() { 
      object.getsomething2(); 
    }); 
}); 

//test1.js 
define(function() { 
    return { 
     getsomething: function(){ 
      $('#button').css({'background-color':'#000'}) 
     }, 
     getsomething2: function(){ 
      $('#button').css({'background-color':'#000'}) 
     } 
    } 
    //return shit; 
}); 
// 

//Default1.aspx 
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script> 
<script src="./Scripts/script1.js"> 

//Default2.aspx 
<script data-main="<%: ResolveUrl("~/Scripts/main.js") %>" src="<%: ResolveUrl("~/Scripts/lib/require.js") %>"></script> 
<script src="./Scripts/script2.js"> 

나는 다시 다시 통과했다 : 여전히 캔트 여러 페이지와 스크립트를 사용하는 방법에 대한 내 마음을 만들어, 구글을 통해 검색,

업데이트 내 마음을 지울 몇 가지 가이드 라인 필요 모든 단일 튜토리얼과 페이지, 그리고 이런 식으로 나오면, 이렇게 코딩 하는게 맞습니까? 하지만 원본에서 외부 스크립트를 제거하지 않으면 오류가 발생합니다.

답변

0

아니요, 모든 페이지에서 require.config를 선언 할 필요가 없습니다.

+0

그러면 어떻게됩니까? 어떤 표본? – Se0ng11

+0

사용해보기 : https://github.com/addyosmani/Backbone_RequireJS – Logan

2

RequireJS는 일반적으로 사용되는 각 페이지에서 구성 호출을 필요로합니다. 일반적으로 때때로 기본값을 벗어날 수 있기 때문에 (종종 jQuery를 사용하여) paths, shim 등을 설정해야합니다.

먼저 내가 필요한 경우가 발생하지 않았습니다. 두 개의 main.js 파일이 있는데, 코드 샘플이 거의 동일한 코드를 표시하는 이유는 무엇입니까?

main.jsdefine() 전화를 걸지 않아야합니다. 모듈은 자신의 파일에 있어야하며 main.jsrequire이어야하며 설정 코드를 호출해야합니다.

내 뜻을 알아 보려면 browse the documentation again이 좋습니다.

두 개의 다른 주 파일이 필요한 경우 (다른 모듈을 페이지에 초기화하려는 경우) 다른 JS 파일을 사용하십시오. 예를 들어 page1.js 또는 page2.js는 require 다른 모듈 집합입니다. Main은 모든 페이지에있는 공통 모듈을로드하고 설정하는 데 사용됩니다. This answer sheds some light on that process.

관련 문제