2017-03-08 1 views
3

Ich versuche reveal.js mit webpack 2.2 mit der Einfuhr-loader zu importieren, aber ich immer einen Fehler bekommen:kann nicht importiert Reveal.js mit Webpack 2.2

Uncaught Typeerror: Kann nicht gesetzt Eigenschaft ‚Reveal‘ undefinierten

ich versuche es so zu importieren: require('imports-loader?this=>window!reveal.js');

, dass die globalen Fenstervariablen wie this injizieren soll.

Der Teil des Codes der den Fehler verursacht, ist dies:

(function (root, factory) { 
    if (true) { 

     root.Reveal = factory(); 
    } 
})(undefined, function() { 

undefined in der letzten Zeile wird als root Parameter in der Funktion übergeben wird.

Mit diesem Code importiert webpack die Bibliothek replave.js. Aus irgendeinem Grund scheint Webpack das Wort this durch undefined zu ersetzen, wenn es den Code zusammenfasst.

Wie kann ich diese Bibliothek mit Webpack richtig importieren? Ich habe auch script-loader ausprobiert und bekomme den gleichen Fehler.

Antwort

2

In webpack Konfiguration:

rules: [ 
    { parser: { amd: false }} 
] 

Dies verhindert, dass webpack von der Definition AMD Variable definieren, weshalb reveal.js ist diese Bedingung in seiner Fabrik Wrapper auslöst.

Danach habe ich auch am Import reveal.js und head.js über

import head from 'headjs/dist/1.0.0/head'; 
import Reveal from 'reveal.js/js/reveal'; 

// Reveal.initialize(
Verwandte Themen