2017-01-09 6 views
0

Ich versuche, die Bibliothek Politespace in ein Webpack-Projekt zu importieren. Es ist so geschrieben, dass es auf einem certain line versucht, ein globales Objekt Politespace an das Objekt window anzuhängen, das für einen Ereignis-Listener auf dem Objekt document benötigt wird, um korrekt zu verhalten.So erstellen Sie eine globale Variable in Webpack

Aber wenn man versucht, dies in Webpack zu laden, indem Sie ein import in vendor.js Putting ich sehe, dass w als nur ein Objekt herauskommt - es scheint, wie Webpack ist eine andere Variable ersetzen, so dass es nie an die window angebracht ist.

Gibt es eine Möglichkeit, den Import von Bibliotheken zu erlauben, die Fenster globale Eigenschaften zuweisen, außer dass die Datei kopiert und eingefügt werden muss, um speziell auf window statt w zu verweisen (was ich verifiziert habe funktioniert)?

Antwort

1

können Sie tun, dass die durch die Verwendung imports-loader

Sie es in zwei Arten verwenden können; entweder, wenn Sie require() die Bibliothek durch so etwas wie

require("imports-loader?this=>window!politespace");

oder durch die Einrichtung in der webpack.config.js wie so tun (per Dokumentation)

module.exports = { 
    ... 
    module: { 
     loaders: [ 
      { 
       test: require.resolve("some-module"), 
       loader: "imports-loader?this=>window" 
      } 
     ] 
    } 
}; 
Verwandte Themen