2013-08-06 2 views
-1

와 의존성을 처리하는 방법 :이 내 config.js 파일의 모습입니다 requireJS

require.config({ 
    baseUrl: '../', 
    paths: { 
     jQuery:   'js/jquery-1.10.2.min', 
     uiEffectsCore:  'js/jQueryUIEffectsCore', 
     //Handlebars:  'js/handlebars', 
     SyntaxHighlighter: 'js/syntaxhighlighter/scripts/shCore', 
     shXml:    'js/syntaxhighlighter/scripts/shBrushXml' 
    }, 
    shim: { 
     jQuery: { 
      exports: 'jQuery' 
     }, 
     uiEffectsCore: { 
      deps: ['jQuery'] 
     }, 
     shXml: { 
      deps: ['SyntaxHighlighter'] 
     } 
    } 
}); 

require(['js/main']); 
다음

내 main.js 다음과 같습니다

define(function(require){ 

    require('jQuery'); 
    require('uiEffectsCore'); 
    require('SyntaxHighlighter'); 
    require('shXml'); 

}); 

나는 문제가 있다고 생각 내 shXml 파일 주위에 아무런 define(...) 래퍼입니다 ... 나는 그 래퍼를 사용하지 않고이 일을 할 수 있는지 궁금합니다. 어쩌면 수출용 심이 그렇게 할 것입니다.

현재로 서서 나는 매번 this error을 얻습니다.

이 질문은 또한 GitHub의에서,

+0

문제는 당신이 사용하고있는 라이브러리가 아닌 것을을 AMD 호환. 코드를 작동 시키려면 모든 종속성을 수동으로 지정하고로드해야합니다. –

+0

@RobW 지금 당장 무엇을하고 있는지, 내 require.js 스크립트보다 일반적인 스크립트 태그에 syntaxhighlighter를 넣어 두는 것. – sherlock

+0

나는 shim.shXml.deps' 배열에 의존성을 넣을 수 있다고 믿는다. http : //requirejs.org/docs/api.html –

답변

1

Check out this articlehere on github.을 요구하고있다. 나는 이것을 테스트, 그리고 여기이 선으로 잘 작동하지만 (syntaxhighlighter 내부에) 당신의 brush.js 파일의 첫 번째 줄을 교체해야 : 그 문제를 해결하는 이유

SyntaxHighlighter = SyntaxHighlighter || (typeof require !== 'undefined'? require('shCore').SyntaxHighlighter : null); 

내가 알지도 못하는 하지만,하지, 당신은 다음과 같이 스크립트를로드 할 수

define(function(require){ 

    require('jQuery'); 
    require('uiEffectsCore'); 
    require('SyntaxHighlighter'); 
    require('shXml'); 
    require('shCss'); 
    require('shJs'); 
    require('Raphael'); 

그리고 당신은 의존성에 대한 설정에 심을 필요

paths: { 
     SyntaxHighlighter: 'js/syntaxhighlighter/scripts/shCore', 
     shXml:    'js/syntaxhighlighter/scripts/shBrushXml', 
     shCss:    'js/syntaxhighlighter/scripts/shBrushCss', 
     shJs:    'js/syntaxhighlighter/scripts/shBrushJScript' 
    }, 
    shim: { 
     shXml: { 
      deps: ['SyntaxHighlighter'] 
     }, 
     shCss: { 
      deps: ['SyntaxHighlighter'] 
     }, 
     shJs: { 
      deps: ['SyntaxHighlighter'] 
     } 
    } 
관련 문제