Bootstrap 4 Beta importa Popper.js con Webpack 3.x lanza Popper no es un constructor

EntoncesBootstrap 4 Beta está fuera ... ¡sí! Sin embargo, Tether ha sido reemplazado porPopper.js para información sobre herramientas (y otras características). Vi un error en la consola lo suficientemente rápido como para avisarme del cambio aPopper.js:

Bootstrap dropdown require Popper.js

Parece bastante fácil, fui y actualicé miwebpack.config.js (se puede ver toda la configuraciónaquí) y Bootstrap comenzó a funcionar (el único cambio que hice fue reemplazar Tether con Popper):

plugins: [
new ProvidePlugin({
  'Promise': 'bluebird',
  '

Yo tambien hice elimport 'bootstrap' en mimain.ts archivo.

Sin embargo, ahora tengo otro problema (que no tenía con Tether), se lanza un nuevo error en la consola:

Uncaught TypeError: Popper is not a constructor

Si intento depurar en Chrome, tengoPopper cargado como un Objeto (por eso Bootstrap dejó de quejarse) como puede ver en la pantalla de impresión a continuación.

Finalmente, incluiré todo mi código. Uso la información sobre herramientas de Bootstrap con un elemento personalizado simple creado conAurelia yTypeScript (que solía funcionar con Bootstrap alpha 6 y 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 no importéPopper correctamente, si es así, ¿cuál es la mejor manera de lograrlo conWebpack 3.x?

: 'jquery', 'jQuery': 'jquery', 'window.jQuery': 'jquery', 'window.

Yo tambien hice elimport 'bootstrap' en mimain.ts archivo.

Sin embargo, ahora tengo otro problema (que no tenía con Tether), se lanza un nuevo error en la consola:

Uncaught TypeError: Popper is not a constructor

Si intento depurar en Chrome, tengoPopper cargado como un Objeto (por eso Bootstrap dejó de quejarse) como puede ver en la pantalla de impresión a continuación.

Finalmente, incluiré todo mi código. Uso la información sobre herramientas de Bootstrap con un elemento personalizado simple creado conAurelia yTypeScript (que solía funcionar con Bootstrap alpha 6 y 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 no importéPopper correctamente, si es así, ¿cuál es la mejor manera de lograrlo conWebpack 3.x?

: 'jquery', Popper: 'popper.js' }),

Yo tambien hice elimport 'bootstrap' en mimain.ts archivo.

Sin embargo, ahora tengo otro problema (que no tenía con Tether), se lanza un nuevo error en la consola:

Uncaught TypeError: Popper is not a constructor

Si intento depurar en Chrome, tengoPopper cargado como un Objeto (por eso Bootstrap dejó de quejarse) como puede ver en la pantalla de impresión a continuación.

Finalmente, incluiré todo mi código. Uso la información sobre herramientas de Bootstrap con un elemento personalizado simple creado conAurelia yTypeScript (que solía funcionar con Bootstrap alpha 6 y 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 no importéPopper correctamente, si es así, ¿cuál es la mejor manera de lograrlo conWebpack 3.x?

Respuestas a la pregunta(5)

Su respuesta a la pregunta