Próbuję użyć bootstrap-daterangepicker z pakietem Webpack. W moim pliku widoku mam następujące:Wystawianie wtyczki jquery za pomocą pakietu Webpack
define(function (require) {
require('bootstrap-daterangepicker');
$('#daterangepicker').daterangepicker({ ... });
});
I webpack.config.js
:
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
})
]
Wynika to w daterangepicker is not a function
. Przyjrzałem się daterangepicker.js
i wygląda na to, że $.fn.daterangepicker
nie został poprawnie wyeksportowany. Jak to zrobić? Próbowałem użyć imports-loader
, aby wymusić importowanie jQuery, ale to nie pomogło.
Zauważ, że daterangepicker ma taką linię '= jQuery ('wymagają jQuery');'. Mam wrażenie, że może wiązać wtyczkę do niewłaściwego wystąpienia jQuery z tego powodu. Jeśli nie rozpakujesz jQuery, powinieneś skonfigurować [zewnętrzne] (https://webpack.github.io/docs/configuration.html#externals). –
Jak korzystać z "externals"? Myślałem coś w rodzaju 'externals: {'bootstrap-daterangepicker': '$'}', ale to nie działa niestety. – spacek33z
Jeśli masz tylko 'externals: {jquery: true}' potraktuje jQuery jako zewnętrzny i nie będzie go zawierał. W takim przypadku twój datepicker połączy go ze światem przez jego wygląd. –