Итак, Bootstrap 4 Beta
выходит... yey! Однако Tether был заменен на Popper.js
для всплывающей подсказки (и других функций). Я достаточно быстро обнаружил ошибку в консоли, чтобы сообщить мне об изменении на Popper.js
:
Bootstrap dropdown require Popper.js
Кажется, достаточно легко, я пошел и обновил мой webpack.config.js
(весь конфиг можно увидеть здесь), и Bootstrap затем начал работать ( только изменение я сделал, чтобы заменить Tether с Поппера):
plugins: [
new ProvidePlugin({
'Promise': 'bluebird',
'$': 'jquery',
'jQuery': 'jquery',
'window.jQuery': 'jquery',
'window.$': 'jquery',
Popper: 'popper.js'
}),
Я также сделал import 'bootstrap'
в моем main.ts
файле.
Однако теперь у меня есть другая проблема (которой у меня не было с Tether), в консоль добавлена новая ошибка:
Uncaught TypeError: Popper is not a constructor
Если я попытаюсь выполнить отладку в Chrome, у меня есть Popper
, загруженный как объект (поэтому Bootstrap перестает жаловаться), как вы можете видеть на экране печати ниже.
Наконец, чтобы включить весь мой код. Я использую всплывающую подсказку Bootstrap с простым пользовательским элементом, созданным с помощью Aurelia
и TypeScript
(который использовался для работы с предыдущим бутстрапом alpha 6 и Tether)
import {inject, customAttribute} from 'aurelia-framework';
import * as $ from 'jquery';
@customAttribute('bootstrap-tooltip')
@inject(Element)
export class BootstrapTooltip {
element: HTMLElement;
constructor(element: HTMLElement) {
this.element = element;
}
bind() {
$(this.element).tooltip();
}
unbind() {
$(this.element).tooltip('dispose');
}
}
Похоже, что я не импортировал Popper
правильно, если да, то какой лучший способ достичь этого с помощью Webpack 3.x
?