2017-06-13 7 views
1

Ich habe derzeit Probleme, meine React-Anwendung in IE11 arbeiten. Das Problem scheint zu sein, dass einige der neueren ES6-Sachen in IE11 nicht verfügbar sind. Mein Ziel ist es, die fehlende Funktionalität zu füllen. Ich benutze nwb [1], was eine Zero-Konfiguration für React-Anwendungen ist. Ich bin mir jedoch nicht sicher, wie Babel (oder Webpack?) Konfiguriert wird, um bestimmte Methoden wie Array.from zu füllen. Es sieht so aus, als ob fetch, Promise und Object.assign alle polyfill-ed sind, aber nicht zB Array.from. Jede Hilfe würde sehr geschätzt werden.babel: polyfill Array.from für IE11 Unterstützung

Hier ist meine nwb.config Datei:

module.exports = { 
     type: 'react-app', 
webpack: { 
    define: { 
     VERSION: JSON.stringify(require('./package.json').version), 
     HOSTNAME: JSON.stringify(process.env.NODE_ENV === 'production' ? 
        'https://xyz.azurewebsites.net' : 
        'http://localhost:8080') 
    }, 
    rules: { 
     babel: { 
      test: /\.jsx?/ 
     } 
    }, 
    extra: { 
     resolve: { 
      extensions: ['.jsx'] 
     }, 
     devtool: '#inline-source-map' 
    }, 
    html: { 
     favicon: 'src/img/favicon.ico' 
    } 
} 
}; 

Danke,

[1] Ein Toolkit für App React. https://github.com/insin/nwb

+0

Sie Zugriff haben Sie auf die 'Datei webpack.config.js'? Wenn ja, können Sie es posten? –

+0

Ich habe meine Datei nwb.config.js hinzugefügt, da ich kein webpack.config.js habe. Seit nwb konfiguriert es. Wie auch immer, hier ist die Babel-Dokumentation: https://github.com/insin/nwb/blob/master/docs/Configuration.md#babel-configuration – Gerb

Antwort

0

Klingt so, als müssten Sie babel-polyfill zu Ihrem Projekt hinzufügen.

Dies emuliert eine vollständige ES2015 + -Umgebung und soll in einer Anwendung und nicht in einer Bibliothek/einem Tool verwendet werden. Dieser Polyfill wird automatisch geladen, wenn babel-node verwendet wird.

Das bedeutet, man neue Einbauten wie Zusage oder WeakMap, statische Methoden wie Array.from oder Object.assign, beispielsweise Methoden wie Array.prototype.includes und Generatorfunktionen verwenden können (vorausgesetzt, verwenden Sie der Regenerator Plugin). Das Polyfill fügt dem globalen Gültigkeitsbereich auch als native Prototypen wie String hinzu, um dies zu tun.

Der einfachste Weg für Sie wäre es wahrscheinlich an der Spitze des Haupt js-Datei zu importieren sein:

import 'babel-polyfill'; 
Verwandte Themen