Faites de lâES7 avec Babel-Node
Lorsque vous installez Babel (npm install --global babel
), vous avez lâopportunitĂ© dâutiliser babel-node
Ă la place de node
, qui en gros fonctionne comme node mais avec du code ES6 (ou ES2015). En fait babel-node
fait de la âon-the-fly transpilationâ. Bien sĂ»r, câest Ă utiliser Ă titre expĂ©rimental.
Sources: cf. article de Axel Rauschmayer Using the ES6 transpiler Babel on Node.js
PrĂ©cĂ©demment (Faites de lâES2015 et ES2016 dans votre navigateur, avec JSPM) jâexpliquais comment utiliser les âclass propertiesâ et les âdecoratorsâ de ES7 (ou ES2016) dans votre navigateur. Aujourdâhui nous allons voir comment les utiliser avec babel-node
.
.babelrc
En fait, câest tout simple. Il vous suffit dâajouter dans le rĂ©pertoire de votre application un fichier .babelrc
avec le contenu suivant:
{
"optional": [
"es7.decorators",
"es7.classProperties"
]
}
⊠Câest tout!
Exemple dâutilisation avec Express
Voici un exemple de code que jâai bricolĂ© avec Express.
Préparation
Créez un fichier package.json
avec ceci:
{
"name": "es2016",
"version": "1.0.0",
"description": "",
"author": "@k33g_org",
"license": "MIT",
"dependencies": {
"body-parser": "^1.14.0",
"express": "^4.13.3",
"uuid": "^2.0.1"
}
}
Et faites un npm install
. Vous avez de quoi démarrer un projet Express.
Remarque: uuid
permet de générer des identifiants uniques.
Application principale: app.js
Créez un fichier app.js
en ES6:
âDecorateursâ / Decorators
Il nous reste donc Ă coder notre contrĂŽleur snippetsController.js
mais avant, codons nos decorators (je vous laisse décortiquer le code). Créez un fichier controllerDecorators.js
:
Utilisation
Maintenant nous pouvons enfin coder notre contrĂŽleur (snippetsController.js
):
Et voilà . Personnellement, je trouve que cela simplifie grandement le code (et facilite la lecture). Souhaitons que ces fonctionnalités soient rapidement figées pour pouvoir réellement les utiliser.
@+