babel 6 async / await: jeton inattendu
Im avoir de la difficulté à obtenir async /await transforme de travail.
Ce qui me manque?
Mon .babelrc:
{
"presets": [ "es2015", "stage-0" ]
}
Mon colis.json (ciselée):
{
"babel-core": "^6.1.2",
"babel-plugin-transform-runtime": "^6.1.2",
"babel-preset-es2015": "^6.1.2",
"babel-preset-stage-0": "^6.1.2"
}
De sortie:
babel src/server
SyntaxError: src/server/index.js: Unexpected token (7:21)
5 |
6 | try {
> 7 | let server = await server('localhost', env.NODE_PORT || 3000)
| ^
8 | console.log(`Server started on ${server.info.uri}`)
9 | } catch (err) {
10 | console.error('Error starting server: ', err)
source d'informationauteur legomind
Vous devez vous connecter pour publier un commentaire.
En fonction de ce post, vous devez avoir
babel-polyfill
Babel 6 regeneratorRuntime n'est pas défini avec async/await
Espérons que cela vous aidera 🙂
EDIT:
Il n'a pas à être babel-polyfill mais c'est le seul que j'ai utilisé.
Comme Gothdo dit: le
await
mot-clé doit être dans un domaine de la fonction. En outre, la définition de cette fonction doit avoir leasync
mot-clé.Cela signifie que vous ne pouvez pas avoir la
await
mot clé sur le niveau supérieur de la portée.Ressemble async/await est uniquement disponible en
babel-preset-stage-3
http://babeljs.io/docs/plugins/preset-stage-3/
Vous pouvez les compiler vous-même à l'aide de la
transform-async-to-module-method
plugin, cela permet de compiler à bluebird co-routines qui nécessite ES6 générateurs (disponible en nœud4).Ou si vous avez besoin de le compiler retour à l'ES5, donc il est compatible pour les navigateurs, vous pouvez utiliser
transform-async-to-generator
et facebook duregenerator
.J'ai écrit sur la façon de configurer votre babel config ici http://madole.xyz/async-await-es7/
Utiliser le Async pour générateur de transformer.
Installation
Utilisation
Ajoutez la ligne suivante à votre
.babelrc
fichier: