【发布时间】:2015-07-04 21:43:57
【问题描述】:
我正在尝试将 bootstrap-daterangepicker 与 Webpack 一起使用。在我的视图文件中,我有以下内容:
define(function (require) {
require('bootstrap-daterangepicker');
$('#daterangepicker').daterangepicker({ ... });
});
在webpack.config.js:
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
]
这导致daterangepicker is not a function。我看过daterangepicker.js,似乎$.fn.daterangepicker 没有正确导出。我该怎么做?我尝试使用imports-loader 强制导入 jQuery,但这没有帮助。
【问题讨论】:
-
请注意,daterangepicker 有一行
jQuery = require('jquery');。我有一种感觉,它可能会因此将插件绑定到错误的 jQuery 实例。如果你不捆绑 jQuery,你应该设置externals。 -
我将如何使用
externals?我在想externals: { 'bootstrap-daterangepicker': '$' }之类的东西,但不幸的是这不起作用。 -
如果您只有
externals: {jquery: true},它将把 jQuery 视为外部的,并且不会将其包含在包中。在这种情况下,您的日期选择器将通过它的外观将其连接到全局。 -
嗯,这不起作用。看起来 bootstrap-daterangepicker 确实使用了正确的 jQuery,因为它不包含在包中。我认为错误纯粹是在导出
$部分。无论如何谢谢:)。 -
我发现an answer 有一些额外的策略。也许其中一个可以解决问题。
标签: webpack