2017-01-19 1 views
1

내 프로젝트에서 SystemJS를 사용하여 cdnjs에서 특정 CodeMirror 애드온 (xml-fold)을 가져 오려고합니다.SystemJS를 사용하면 CDN 라이브러리 (CodeMirror)간에 URL을 어떻게 매핑합니까?

그러나 addon은 주 CodeMirror js를 ../../lib/codemirror으로 참조합니다. 이 문제는 https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/lib/codemirror으로 해결되며 올바르지 않습니다. https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/codemirror.js이어야합니다.

나는 올바른로 map 잘못된 URL로 시도,하지만 뽑힐 것 같지 않습니다 - (브라우저 콘솔에서 오류) 아래 참조 : 콘솔에서

SystemJS.config({ 
 
    map: { 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/lib/codemirror': 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/codemirror.js' } 
 
}); 
 

 
// in actual project I import it through a dependency, but the problem is the same 
 
SystemJS.import('https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/addon/fold/xml-fold.js');
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.42/system.js"></script>

오류 :

system.js:4 GET https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/lib/codemirror 403 

지도를 올바르게 표시하려면 어떻게해야합니까?

답변

1

는이 설정이 URL에이 수입

SystemJS.import('codemirror/addon/fold/xml-fold'); 

을 설정하기에 충분해야 SystemJS 구성 codemirror에 대한 패키지를 정의하고 package-local map setting:

SystemJS.config({ 
    map: { 
     'codemirror': 'https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0' 
    }, 
    packages: { 
     'codemirror': { 
      map: {'./lib/codemirror': './codemirror.js'} 
     } 
    } 
}); 

를 사용하여 codemirror.jslib/codemirror를 매핑하는 것이 가능

https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/addon/fold/xml-fold.js' 

그런 다음 상대 경로 ../../lib/codemirror은 동일한 패키지에 그대로 유지되며 ./codemirror.js으로 다시 매핑됩니다. (I는 현재 SystemJS와 버전 확인 - 0.19.42) 또한

SystemJS.import('codemirror'); 

자체 codemirror 가져올 수 있도록 codemirror 패키지 구성에

main: 'codemirror.js' 

을 추가 할 수 있습니다

당신 경우 그렇게해야합니다.

+0

고마워요, 그러나 그것은 단지 확장이 아닙니다. https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2.0/lib/codemirror.js가 존재하지 않습니다. https://cdnjs.cloudflare.com/ajax/libs/codemirror/4.2가되어야합니다. .0/codemirror.js (lib없이). –

+0

죄송합니다. 나는 대답을 업데이트했다. – artem

+0

감사합니다. –

관련 문제