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?

questionAnswers(5)

yourAnswerToTheQuestion