Jquery 引导日期选择器未使用requirejs填充

Jquery 引导日期选择器未使用requirejs填充,jquery,backbone.js,twitter-bootstrap,requirejs,Jquery,Backbone.js,Twitter Bootstrap,Requirejs,我正在使用backbone.js+require.js构建一个应用程序。我想在我的应用程序中从此处使用datepicker: 由于它不是AMD,我在requirejs中添加了如下内容: require.config({ baseUrl: "appjs", paths:{ jquery: '../layout_assets/assets/js/libs/jquery-1.8.2.min', dt: '../layout_assets/plugins/datatables/jque

我正在使用backbone.js+require.js构建一个应用程序。我想在我的应用程序中从此处使用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"
        }

        }

});
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;
    });
现在,在我的一个视图中,我这样称呼datepicker:

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"
        }

        }

});
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。我猜库没有正确填充。

查看
日期选择器的源代码,它看起来实际上没有导出任何内容-这就是为什么
requirejs
找不到要“连接”的全局
dt
变量的原因(
window.dt
,如果在浏览器环境中运行)。根据
datepicker
的网站,它只是将其功能添加到jQuery对象中,不应该作为独立实例使用。来自its的示例:

$('#dp5')。日期选择器()
.on('changeDate',功能(ev){
如果(ev.date.valueOf()
}))

你试过那样的东西吗


我认为在这种情况下不需要填隙。

这是我使用的填隙片:

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


我有同样的问题。我也有同样的问题。你有没有找到解决这个问题的方法?jQueryUI有必要吗?