header.jsp中
<script src="${ctx}/static/require/require.js" type="text/javascript"></script>
<script src="${ctx}/js/common.js"></script>
其中,common.js
var appContext = "/" + document.URL.split("/")[3];
require.config({
baseUrl : appContext + '/js/',
paths : {
'domReady': appContext + '/static/require/domReady',
'jquery' : appContext +'/static/jquery/jquery-1.8.2',
'bootstrap' : appContext + '/static/bootstrap/js/bootstrap',
'ztree' : appContext + '/static/ztree/js/jquery.ztree.all-3.5.min',
'validation': appContext + '/static/jquery-validation/1.10.0/jquery.validate.min',
'validationMessage': appContext + '/static/jquery-validation/1.10.0/message_bs_zh',
'datePicker': appContext + '/static/datepicker/js/bootstrap-datepicker'
},
shim :{
bootstrap: ['jquery'],
ztree: ['jquery'],
validation: ['jquery'],
validationMessage: ['validation'],
datePicker: ['bootstrap']
}
});
footer.jsp:
<script type="text/javascript">
require(['domReady!', 'jquery', 'admin/main'], function (domReady, $, main) {
main.activeBar("${url}");
});
</script>
dody.jsp (被装饰的页面)
require(['xxx/foo'], function (controller) {
});
foo.js中依赖bootstrap