babel vs babel-core vs babel-runtime
Mon nœud webpack projet utilise trois babel bibliothèques. Quelle est la différence entre ceux-ci et comment sont-elles utilisées?
"dependencies": {
"babel-runtime": "^5.8.24"
}
"dev-dependencies": {
"babel": "^5.8.23",
"babel-core": "^5.8.23"
}
- Tout est dans la documentation si vous regardez autour de vous: babeljs.io/docs/utilisation/api, babeljs.io/docs/utilisation/runtime, babeljs.io/docs/utilisation/cli
- le moteur d'exécution docs lien mène à 404.
- Pour un tel largement utilisée de la bibliothèque de la documentation est assez mauvais. Les bonnes choses est toutefois incluse dans le code, mais si vous ne savez pas ce que vous avez réellement besoin pour l'utiliser, il est inutile.
Vous devez vous connecter pour publier un commentaire.
babel-core
est l'API. Pour la v5babel
paquet est le CLI et dépendbabel-core
. Pour la v6, lababel-cli
paquet est le CLI (CLI bin commande est toujours enbabel
), et lebabel
paquet ne rien faire.babel-runtime
Je suppose que c'est juste le moteur d'exécution (polyfill et assistants) à l'appui de code qui a déjà été transformé.babel-runtime
etbabel-polyfill
. stackoverflow.com/questions/31781756/...TL;DR Les choses de comparer les voici:
De https://babeljs.io/blog/2015/10/31/setting-up-babel-6:
babel-runtime permet tout simplement polyfills que ne pas polluer l'espace global, à la différence de babel-polyfill qui pollue votre espace mondial. De http://babeljs.io/docs/plugins/transform-runtime/:
Si vous utilisez babel-runtime, vous devez également
npm install --save-dev babel-plugin-transform-runtime
Aussi, babel-runtime+babel-plugin-transformer-runtime et babel-polyfill sont généralement mutuellement exclusifs--ce qui signifie que vous ne devez utiliser l'un ou l'autre. À partir d'un commentaire ici http://jamesknelson.com/the-six-things-you-need-to-know-about-babel-6/:
Les Six Choses Que Vous Devez Savoir À Propos De Babel 6 l'explique assez bien, pour citer