backbone.js 프로젝트에서 raphael.js를 사용하고 있습니다. 래퍼 가져 오기는 매력처럼 작동합니다 (이 버전은 AMD 호환). 모든 것이 예상대로 작동합니다. 여기서 "app"은 다른 app.js 파일에 정의 된 사전 정의 된 전역 객체입니다.require.js 의존성 - 추가 스크립트에 종속성 방법을 통합하는 방법
([ 'JQuery와', '밑줄', '애플리케이션', '골격', '라파엘', 함수 ($, _ 앱 백본 라파엘) {
var AppView = Backbone.View.extend({
initialize: function() {
app.paper = Raphael(0, 0, app.w, app.h);
}을 정의 ... }})
이제 내 app.paper에는 모든 Raphael 메소드가 있습니다. 굉장해!
난 그냥 내가 라파엘을 넣을 수 있습니다 어떻게 Raphael.el 및 Raphael.fn
initialize: function() {
app.paper = Raphael(0, 0, app.w, app.h);
Raphael.el.myfill = function(){
this.attr('fill', '90-#fff-#000');
}
app.paper.circle(x,y,r).myfill(); //it works! (Brilliant!)
}
}
내 질문은을 사용하여 내 자신의 미리 정의 된 방법을 추가 할 수 라파엘 API에서 발견했다. 다른 Raphael.fn.mydefinedmethods와 함께 el.myfill 정의를 다른 javascript 파일로 가져 와서 위의 AppView로 가져 옵니까?
길이가 긴 정의가있는 AppView 파일을 막히지 않으려 고하며 다른보기에서 사용하는 Raphael. [el | fn] 정의에 대한 가변성을 제공하고 싶습니다. 그러나 이러한 객체 생성자는 이미 종속물로 가져온 Raphael.js 객체의 일부이므로 require.js 프로토콜을 사용하여 Raphael.el 및 Raphael.fn 정의를 분리하는 방법을 잘 모르겠습니다. require.js가 나오기 전에 다른 myRaphaelDefs.js 파일에 이러한 정의를 추가하고 다른 HTML 태그에 "script"태그를 추가하면 항상 사용할 수 있지만 모두 2015 년이며 모듈 형 js 악 대차.
AMD 호환 RedRaphael 브랜치를 사용하고 있으므로 Raphael.js 자체에 "정의"래퍼가 없습니다. 이 라이브러리에 이런 래퍼가 있다면 Raphael.js에 아웃소싱 된 정의를 직접 종속성으로 추가 할 수 있습니다. (옵션이 아님) RedRaphael은 바로 구입 후 바로 require.js와 함께 작동하므로 "정의"래퍼가 없습니다.
감사합니다. 전에지도 옵션을 사용하지 않았습니다. Ok 나는 그것을 시험해 볼 것이다. – deusoz
굉장, 작동합니다! 내가 require.js API에서 이러한 상황을 설명하는 것을 보지 못해서 기뻤습니다. – deusoz