Bootstrap 4 Beta importando Popper.js com Webpack 3.x lança Popper não é um construtor
assimBootstrap 4 Beta
está fora ... sim! No entanto, o Tether foi substituído porPopper.js
para dica de ferramenta (e outros recursos). Vi um erro no console rápido o suficiente para me aconselhar sobre a alteração noPopper.js
:
Bootstrap dropdown require Popper.js
Parece fácil, fui e atualizei meuwebpack.config.js
(toda a configuração pode ser vistaaqui) e o Bootstrap começou a trabalhar (a única alteração que fiz foi substituir o Tether pelo Popper):
plugins: [
new ProvidePlugin({
'Promise': 'bluebird',
'Eu também fiz oimport 'bootstrap'
no meumain.ts
Arquivo.
No entanto, agora tenho outro problema (que não tive com o Tether), um novo erro é lançado no console:
Uncaught TypeError: Popper is not a constructor
Se eu tentar depurar no Chrome, tenhoPopper
carregado como um objeto (e é por isso que o Bootstrap parou de reclamar), como você pode ver na tela de impressão abaixo.
Por fim, inclua todo o meu código. Eu uso a dica de ferramenta do Bootstrap com um simples elemento personalizado criado comAurelia
eTypeScript
(que costumava trabalhar com o Bootstrap alfa 6 e o Tether anteriores)
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');
}
}
Parece que eu não importeiPopper
corretamente, se sim, qual é a melhor maneira de conseguir isso comWebpack 3.x
?
: 'jquery',
'jQuery': 'jquery',
'window.jQuery': 'jquery',
'window.Eu também fiz oimport 'bootstrap'
no meumain.ts
Arquivo.
No entanto, agora tenho outro problema (que não tive com o Tether), um novo erro é lançado no console:
Uncaught TypeError: Popper is not a constructor
Se eu tentar depurar no Chrome, tenhoPopper
carregado como um objeto (e é por isso que o Bootstrap parou de reclamar), como você pode ver na tela de impressão abaixo.
Por fim, inclua todo o meu código. Eu uso a dica de ferramenta do Bootstrap com um simples elemento personalizado criado comAurelia
eTypeScript
(que costumava trabalhar com o Bootstrap alfa 6 e o Tether anteriores)
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');
}
}
Parece que eu não importeiPopper
corretamente, se sim, qual é a melhor maneira de conseguir isso comWebpack 3.x
?
: 'jquery',
Popper: 'popper.js'
}),
Eu também fiz oimport 'bootstrap'
no meumain.ts
Arquivo.
No entanto, agora tenho outro problema (que não tive com o Tether), um novo erro é lançado no console:
Uncaught TypeError: Popper is not a constructor
Se eu tentar depurar no Chrome, tenhoPopper
carregado como um objeto (e é por isso que o Bootstrap parou de reclamar), como você pode ver na tela de impressão abaixo.
Por fim, inclua todo o meu código. Eu uso a dica de ferramenta do Bootstrap com um simples elemento personalizado criado comAurelia
eTypeScript
(que costumava trabalhar com o Bootstrap alfa 6 e o Tether anteriores)
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');
}
}
Parece que eu não importeiPopper
corretamente, se sim, qual é a melhor maneira de conseguir isso comWebpack 3.x
?