Ceci est une question node.js ne navigue pas spécifiquement. Oui, la version actuelle de node.js prend en charge certaines normes ES2015 en fonction de votre version de Node.js et des indicateurs que vous utilisez lorsque vous démarrez votre serveur.
La plupart des fonctionnalités sont déjà actives, mais pour utiliser toutes les fonctionnalités, vous devez utiliser node app.js --es_staging
ou node app.js --harmony
dans votre dossier de projet au lieu de sails lift
.
Le lien suivant fournit des informations mises à jour sur les fonctionnalités de la version actuelle de la prise en charge du nœud et sur la façon d'y accéder.
SailsJS est juste un framework écrit avec la syntaxe ES5 et il n’a pas besoin de supporter ES6.
Vous pouvez écrire un projet avec la syntaxe ES6 comme vous le faites habituellement et utiliser Babel\Traceur\what pour l'exécution.
Mon flux est le suivant:
babel
en tant que devDependencies
;npm start
dans package.json
avec "start": "babel-node app.js"
;C'est tout. Je peux écrire du code ES6\7 dans mes contrôleurs\models\etc et exécuter le serveur via la commande npm start
. Cela fonctionne comme d'habitude comme vous l'avez écrit avec la syntaxe ES5.
Vous devez vérifier la compatibilité de ES6 avec node.js à la place de tout framework tel que sails.js, express, etc.
Enfin, node.js remplacera le code javaScript par le code côté serveur. Le cadre que vous utilisez n’importe donc.
Vous pouvez utiliser les voiles avec ES6:
Pour la compatibilité ES6, vérifiez kangax.github.io .
Conseillé :
Voiles v 0.11.0 ou supérieur
Noeud v 4.. ou supérieur
npm v 2.14.4 ou supérieur
Vous êtes maintenant prêt à explorer la nouvelle Ecmascript6 feature.
Vous obtiendrez la nouvelle fonctionnalité de http://es6-features.org/ .
TEST:
Code:
ecma6Test:function(req,res,next){
var evens =req.body.evens
odds = evens.map(v => v + 1);
res.json({sucess:true,'odds':odds});
}
Demande:
{"evens":[2,4,6,8,10]}
Réponse:
{
"sucess": true,
"odds":[3, 5, 7, 9, 11]
}
La réponse de Vishnu vous a couvert.
La liste explicite des fonctionnalités ES6 disponibles dans la dernière version du noeud est disponible ici https://nodejs.org/en/docs/es6/
Quelles fonctionnalités ES6 sont livrées avec Node.js par défaut (aucun indicateur d'exécution requis)?
Il y a le voiles-hook-babel hook qui pourrait vous convenir. Cela ne fonctionne pas pour moi, comme je l'explique ci-dessous, mais j'espère que cela aura une visibilité accrue, que cela s'améliorera et que cette réponse sera plus pertinente.
Actuellement, à partir de la v6.0.1, la bibliothèque fonctionnera pour les fichiers chargés après l'exécution des hooks sails. Cela signifie que si vous souhaitez utiliser ES2015, par exemple, votre fichier config/routes.js
, vous obtiendrez une erreur de syntaxe. Mais comme suggéré dans ce numéro , cela devrait fonctionner par exemple pour. fichiers dans le dossier api
.