babel
Connaissances de base (recommander le didacticiel d'introduction Babel de Ruan Yifeng)
Compréhension complète de babel-plugin-transform-runtime
et de The rôle de babel-runtime
(page d'accueil du projet github recommandée)
webpack2
Utilisation de base
webpack2
Le rôle de babel-loader
dans import
webpack
babel-loader
+transform-runtime
+Promise
Normalement, il devrait être possible de parcourir sans support natifIE
Il fonctionne normalement sous le navigateur (comme IE11
), mais en réalité sous Promise
, il provoque toujours l'erreur
babel
Confirmez d'abord si le transform-runtime
de js
est valide, écrivez l'exemple de code de var promise = new Promise(resolve, reject)
dans le vôtre Promise
code, j'ai constaté que babel
a été remplacé. La clé de la question est donc de savoir ce qui échappe au contrôle de
Ce à quoi je pense, c'est node_modules
webpack
par rapport au code généré par
babel
Avant d'utiliser ES6
pour convertir node_modules
, les packages tiers référencés via
peuvent être utilisés normalement, ils peuvent donc être exclus. webpack
Alors qu'en est-il de GOOGLE
? J'ai cherché webpack promise not defined
dans
webpack
Lors de l'utilisation de webpack
Lors d'un chargement asynchrone, Promise
nécessite un support natif
généré par webpack
new Promise
babel
échappe au contrôle de transform-runtime
Promise
. Seule l'exportation du
babel-polyfill
Introduire Promise
pour exporter globalement Promise
, cette méthode n'est pas bonne non seulement
js
Ajouter window.Promise = Promise
au début du fichier
import 'jquery' import 'bootstrap/dist/css/bootstrap.css' import 'bootstrap' // 将Promise抛出为全局对象 window.Promise = Promise 。。。
babel
Principe : Quand <.> vérifie js
de Promise
, transform-runtime
convertira Promise
puis le lancera en tant qu'objet global pour obtenir le même effet que babel-polyfill
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!