bootstrap-datepicker没有使用requirejs进行填充

我正在使用backbone.js + require.js构建一个应用程序。 我想在我的应用程序中使用datepicker: datepicker

由于它的非AMD,我在这样的requirejs中填充它:

require.config({ baseUrl: "appjs", paths:{ jquery: '../layout_assets/assets/js/libs/jquery-1.8.2.min', dt: '../layout_assets/plugins/datatables/jquery.dataTables.min', dtPlugins:'../layout_assets/plugins/datatables/dtplugins', dtBootstrap: '../layout_assets/plugins/datatables/dataTables.bootstrap', underscore: '../assets/js/underscore-min', Backbone: '../assets/js/backbone-min', bootstrap: '../assets/js/bootstrap.min', datepicker:'../layout_assets/bootstrap-datepicker' }, shim: { underscore:{ exports:"_" }, Backbone:{ deps: ['underscore','jquery'], exports: "Backbone" }, dt: { deps:['jquery'], exports: "dt" }, dtPlugins: { deps:['jquery','dt'], exports:"dtPlugins" }, bootstrap: { deps:['jquery'], exports:"bootstrap" }, dtBootstrap: { deps: ['dt','jquery'], exports: "dtBootstrap" }, datepicker:{ deps:['jquery','bootstrap'], exports:"datepicker" } } }); 

现在在我的一个观点中,我将datepicker称为:

 define(['Backbone', 'underscore', 'jquery', 'datepicker', 'models/reports', 'dtBootstrap', 'bootstrap', 'text!templates/reports/dashboard.html', ],function(Backbone,_,$,dp,report,dtBootstrap,bootstrap,dashboard){ var view=Backbone.View.extend({ el:"#content-wrap", template:_.template(dashboard), render:function(){ this.$("#container-left").html(this.template()); console.log(dp); } }); return view; }); 

这将在控制台上返回undefined。 我想图书馆没有正确填充。

这是我使用的垫片:

 "datepicker" : { deps: ["jquery-ui", "bootstrap"], exports: "$.fn.datepicker" } 

对于

 "datepicker": "lib/datepicker/js/bootstrap-datepicker" 

看看datepicker的源代码看起来它实际上并没有导出任何东西 – 这就是为什么requirejs找不到全局dt变量来“连接”到(如果在浏览器环境中运行,则为window.dt )。 根据datepicker的网站,它只是将其function添加到jQuery对象,它不应该被用作独立的实例。 其文档页面中的示例:

 $('#dp5').datepicker() .on('changeDate', function(ev){ if (ev.date.valueOf() < startDate.valueOf()){ .... } 

});

你尝试过类似的东西吗?

我认为在这种情况下不需要垫片。