requirejs에 bootbox (http://bootboxjs.com)를 사용하려고합니다. bootbox 플러그인이로드되면requirejs 전역 변수 내보내기
main.html
<script>
var require = {
baseUrl: 'js',
paths: {
"jquery" :['jquery-1.11.0.min'],
"bootbox" :['bootbox.min'],
"bootstrap" :['//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min']
},
shim:
'bootstrap' :{deps:['jquery']},
'bootbox' :{deps:['bootstrap'],exports: 'bootbox'}
}
}
</script>
<script src="require.min.js"></script>
<script src="myscript1.js"></script>
main.js
define(['bootbox'],function(bootbox){
bootbox.alert("Hello world!"); // working properly
});
myscript1.js
require(['main'],function(){
bootbox.alert("Hello world!"); // not functioning (bootbox is not defined)
});
는 일반적으로, 우리는 어디 페이지에에 bootbox을 사용할 수 있습니다 this :
bootbox.alert("Hello world!");
requirejs를 사용할 때
bootbox
변수를 전달해야하며
bootbox
을 사용하려면 requirejs를 사용할 때마다 정의하십시오. 나는 "수출"을 시도했지만 도움이되지는 않는다.
bootbox
변수는로드 된 후에 어떻게 전역 적으로 사용할 수 있습니까?
감사합니다.
require.js의 전체 요점에는 전역 적으로 사용할 수있는 변수가없고 모듈을 프로그래밍하는 데 필요한 변수가 없습니다.왜 당신이 필요할 때 사용할 수있는 부트 박스를 사용하는 모달 (modal) '컴포넌트'를 만들지 않는가? 이렇게하면 구현을 캡슐화하여 라이브러리를 사용하는 코드에 영향을주지 않고 다른 라이브러리를 사용하도록 선택하면 라이브러리를 스왑 아웃 할 수 있습니다. – Magrangs