J'ai lu plusieurs fois la documentation fournie sur: Node API Babel 6 Docs
Je commence l'apprentissage de pg-promise en suivant le didacticiel Learn by Example et préférerais travailler avec ES6 et transposer en ES5 avec Babel, mais je ne suis pas sûr de certaines choses:
La documentation n'était pas claire pour moi sur le fichier que je mettais: require ("babel-core"). Transform ("code", options); dans et quelles parties de ce code sont des espaces réservés. Lorsque j'utilise ce code, est-ce que je l'utilise une seule fois quelque part et puis-je utiliser ES6 dans tous les autres fichiers? Comment pourrait-on y parvenir?
J'ai lu à propos de ce fichier .babelrc et je voudrais confirmer si le nom de fichier réel est ".babelrc" ou si ce n'est que l'extension de fichier et où par rapport au répertoire racine de mon projet dois-je mettre ce fichier .. et comment Je fais un lien avec ça?
Si j'utilise pg-promise dois-je utiliser ES6 et Babel ou exécuter: npm installe comme décrit sous Test pour pg-promesse suffira et essayer d'utiliser ES6 avec cela créera plus de problèmes?
J'espérais profiter de let et const si le besoin se faisait sentir lors de mon développement côté serveur.
Edit À noter que j'ai également lu Node JS avec Babel-Node et vu que l'utilisation de ceci devrait être évitée. La réponse finale tout en bas n'avait pas vraiment de sens pour moi pour des raisons similaires, j'ai du mal à suivre la documentation réelle fournie par Babel.
Vous devrez d'abord installer Babel avec npm install babel-core --save-dev
Dans le répertoire racine de votre projet en utilisant une fenêtre de terminal comme l'invite de commande.
Une fois installé, vous devrez installer le préréglage es2015 avec npm install babel-preset-es2015 --save-dev
. Babel-Core est conforme aux promesses/A + mais pas idéal pour une utilisation en raison d'une mauvaise gestion des erreurs, donc une bibliothèque telle que Bluebird doit être utilisé à la place à cette fin. Afin de transpiler, babel-core devra toujours être installé et es2015 active le transpillage ES6-> ES5 afin que vous puissiez utiliser des choses fantaisistes comme let et const, etc.
require("babel-core");
?à la place, utilisez require("babel-core/register");
et placez-le dans votre fichier d'entrée généralement appelé, "server.js". Le fichier server.js devra utiliser exclusivement CommonJS (ES5).
En utilisant l'instruction "require", elle appliquera toutes les transformations pertinentes à tout le code requis dans le fichier d'entrée et tous les fichiers étant requis/inclus dans ces fichiers.
Vous pointez sur le fichier d'entrée dans package.json sous la section "main":
.
Package.json est créé lorsque vous initialisez le projet avec
npm init
Dans le répertoire racine de votre projet dans la fenêtre du terminal
Une approche à ce sujet serait:
.babelrc
Est le nom du fichier et doit être placé dans le même dossier que votre fichier package.json (normalement le répertoire racine) et se "chargera" automatiquement lorsque babel-core sera requis pour déterminer le ou les préréglages ou plugins doivent être utilisés.
Dans .babelrc
, Vous devrez ajouter le code suivant:
{
"presets": ["es2015"]
}
Une citation directe du développeur a récemment répondu à cette
Vous n'avez pas à vous soucier des étapes des tests, utilisez uniquement les étapes de l'installation. Celui des tests concerne l'installation de la dépendance de développement, afin d'exécuter des tests. Pg-promise peut fonctionner avec n'importe quelle bibliothèque de promesses conforme à la spécification Promises/A +.
Il n'y a pas de moyen standard pour accomplir cette tâche car chaque projet a des exigences uniques. Un bon point de départ serait de placer le fichier Entry dans le répertoire racine du projet, le ES6 Config fichier dans un sous-dossier "scripts" ou "src" et composants individuels dans les dossiers en dessous.
par exemple.
Avec cela en place, Babel réussira à transposer tous les ES6 à ES5 et à permettre la prise en charge des promesses conformes à A +.
Pour commencer à utiliser le serveur Web node.js Ce guide fournit un peu plus d'informations et dans le contexte de cette réponse, le code affiché serait placé dans le fichier config.es6 ES6 et le code suivant irait dans le Entrée fichier server.js:
require("babel-core/register");
require("./src/config.es6");
Le processus de construction d'applications Web isomorphes est différent de celui-ci et utiliserait probablement des choses comme grunt, gulp, webpack, babel-loader, etc. un autre exemple pouvant être Trouvé ici .
Cette réponse est la combinaison de plusieurs points clés fournis par d'autres réponses à cette question ainsi que des contributions de développeurs expérimentés et de mes propres recherches et tests personnels. Merci à tous ceux qui ont contribué à la production de cette réponse.
Cette réponse utilise cette structure de répertoire simple
project/server/src/index.js
=> votre fichier serveur
project/server/dist/
=> où babel mettra votre fichier transpilé
Installer les dépendances babel
npm install -g babel nodemon
npm install --save-dev babel-core babel-preset-es2015
Ajoutez ces scripts npm à votre fichier package.json
"scripts": { "compile": "babel server/src --out-dir server/dist", "server": "nodemon server/dist/index.js }
Créez un fichier .babelrc dans le répertoire racine de votre projet
{ "presets": "es2015" }
Transpilez votre annuaire avec
npm run compile
Exécutez votre serveur avec
npm run server
Je pense que vous devriez utiliser un outil comme grognement ou gorgée pour gérer toutes vos tâches de "construction". Il l'automatisera pour vous et vous ne ferez aucune erreur.
En une seule commande, vous pouvez transpiler votre code dans babel ES2015 et démarrer votre application.
Je vous suggère de jeter un œil à ce projet simple . (installez simplement node_modules et lancez npm start pour démarrer le fichier app.js)
Cependant, si vous voulez vraiment utiliser babel manuellement,
.babelrc est le nom du fichier, vous pouvez en voir un dans ce projet (redux) pour avoir un exemple
.babelrc est un fichier de configuration, si vous voulez voir comment cela fonctionne, vous pouvez vérifier ce package.json (toujours redux)
Il n'y a en fait aucun moyen standard que je connaisse. Vous pouvez utiliser le squelette du projet ci-dessous si nécessaire, et envoyer une demande de tirage pour l'améliorer :-)
@faites simple
Étape 1
npm install nodemon --save
Dans le répertoire du projet
Étape 2
yarn add babel-cli
yarn add babel-preset-es2015
Étape: 2 Dans package.json-> scipts, remplacez "start" par ce qui suit
start: "nodemon src/server.js --exec babel-node --presets es2015"
Étape 3
yarn start