usar tutorial standalone not nodejs node implement found es6 node.js postgresql babeljs pg-promise

node.js - tutorial - node es6



¿Cómo configuro Babel 6 con Node JS para usar ES6 en mi código de servidor? (3)

He leído varias veces la documentación provista en: Node API Babel 6 Docs

Estoy empezando a aprender la promesa pg siguiendo el tutorial Aprender por ejemplo y preferiría trabajar con ES6 y transpilar a ES5 con Babel, pero no estoy seguro de algunas cosas:

  1. Después de instalar babel-core, ¿qué preset utilizo y dónde / cómo configuro esto para que funcione?

La documentación no me resultaba clara acerca del archivo que puse: require ("babel-core"). Transform ("código", opciones); en y qué partes de ese código son marcadores de posición. Cuando uso ese código, ¿lo uso una vez en alguna parte y luego puedo usar ES6 en cualquier otro archivo? ¿Cómo se lograría esto?

  1. Leí sobre este archivo .babelrc y me gustaría confirmar si el nombre del archivo es ".babelrc" o si esa es solo la extensión del archivo y dónde en relación con el directorio raíz de mi proyecto pongo ese archivo ... y cómo hago Me enlace a ella?

  2. Si estoy usando pg-promise, ¿ debería usar ES6 y Babel o voy a ejecutar: la instalación de npm como se describe en la sección Pruebas para pg-promise sería suficiente y tratar de usar ES6 con esto crearía más problemas?

Esperaba aprovechar let and const si surgía la necesidad durante el desarrollo de mi servidor.

  1. ¿Hay una estructura de archivos estándar para una configuración del servidor node + babel + pg-promise?

Editar Vale la pena señalar que también he leído Node JS con Babel-Node y vi que se debe evitar el uso de este. La respuesta final en el fondo no tenía sentido para mí por razones similares. Tengo problemas para seguir la documentación real provista por Babel.


1.a ¿Qué preajuste se necesita?

Necesitará instalar Babel primero con npm install babel-core --save-dev en el directorio raíz de su proyecto usando una ventana de Terminal como Símbolo del sistema.

Una vez instalado, deberá instalar el preajuste npm install babel-preset-es2015 --save-dev con npm install babel-preset-es2015 --save-dev . Babel-Core es compatible con Promises / A + pero no es ideal para el uso debido a un manejo deficiente de errores, por lo que una biblioteca como Bluebird se debe utilizar en su lugar para este fin. Para poder transpilar, babel-core aún tendrá que ser instalado y es2015 permite ES6-> ES5 transpiling para que pueda usar cosas elegantes como let y const, etc.

1.b Dónde colocar require("babel-core"); ?

en su lugar, use require("babel-core/register"); y colóquelo dentro de su archivo de entrada típicamente llamado, "server.js" . El archivo server.js necesitará usar CommonJS (ES5) exclusivamente.

Al usar la declaración "require" aplicará todas las transformaciones relevantes a todo el código requerido en el archivo Entry y todos los archivos requeridos / incluidos en esos archivos.

Señala el archivo de entrada dentro de package.json en la sección "main": .

Package.json se crea cuando inicializa el proyecto con npm init en el directorio raíz de su proyecto dentro de la ventana del terminal

Un enfoque para esto sería:

  • Archivo de entrada - server.js
  • server.js - requiere {babel-core y el archivo ES6 principal: config.js / jsx / es6 / es}
  • config.es6 - usa ES6 e incluye (requiere) para todos los demás archivos de proyectos que también pueden usar ES6 a medida que se transfieren al cargarlos en el archivo "config" que transmite directamente babel-core.

2. ¿Qué es .babelrc?

.babelrc es el nombre de archivo y debe colocarse en la misma carpeta que su archivo package.json (normalmente el directorio raíz) y se "cargará" automáticamente cuando se requiera babel-core para determinar qué presets o plugins se van a utilizar .

Dentro de .babelrc , necesitarás agregar el siguiente código:

{ "presets": ["es2015"] }

3. Sección de prueba de promesa de pg

Una cita directa del desarrollador contestó recientemente esto

No necesita preocuparse por los pasos en las Pruebas, use solo los pasos de la instalación. El que está en las pruebas se relaciona con la instalación de dependencia dev, para ejecutar pruebas. La promesa de pg puede funcionar con cualquier biblioteca de promesa que cumpla con la especificación Promises / A +.

4. Estructura de archivo / carpeta estándar para proyectos del lado del servidor?

No hay una forma estándar de lograr esta tarea ya que cada proyecto tiene demandas únicas. Un buen punto de partida sería colocar el archivo de entrada en el directorio raíz del proyecto, el archivo de configuración ES6 en una subcarpeta "scripts" o "src" y los componentes individuales en las carpetas debajo de eso.

p.ej

  • ROOT / server.js
  • ROOT / src / config.es6
  • ROOT / src / component1 / files.es6
  • ROOT / src / component2 / files.es6

Con esto en su lugar, Babel transferirá con éxito todo ES6 a ES5 y permitirá el soporte de promesas cumpliendo con A +.

Para comenzar a utilizar el servidor web node.js Esta guía proporciona un poco más de información y, en el contexto de esta respuesta, el código mostrado se colocará en el archivo config6 de ES6 y el siguiente código irá al archivo Entry server.js:

require("babel-core/register"); require("./src/config.es6");

El proceso para construir aplicaciones web isomorfas es diferente a este y es probable que use cosas como ronco, trago, paquete web, cargador de babel, etc., otro ejemplo del cual se puede encontrar aquí .

Esta respuesta es la combinación de varios puntos clave proporcionados por otras respuestas a esta pregunta, así como las contribuciones de desarrolladores experimentados y mi propia investigación y prueba personal. Gracias a todos los que ayudaron en la producción de esta respuesta.


  1. Esta respuesta usa esta estructura de directorio simple

    project/server/src/index.js => su archivo de servidor

    project/server/dist/ => donde babel colocará tu archivo transpilado

  2. Instalar dependencias babel

    npm install -g babel nodemon

    npm install --save-dev babel-core babel-preset-es2015

  3. Agregue estos scripts npm a su archivo package.json

    "scripts": { "compile": "babel server/src --out-dir server/dist", "server": "nodemon server/dist/index.js }

  4. Crea un archivo .babelrc en el directorio raíz de tu proyecto

    { "presets": "es2015" }

  5. Transpile su directorio con

    npm run compile

  6. Ejecute su servidor con

    npm run server


Creo que deberías usar una herramienta como ronco o trago para administrar todas tus tareas de "compilación". Lo automatizará para usted y no cometerá errores.

En un comando, puede transpilar su código en babel ES2015 y comenzar su aplicación.

Te sugiero que eches un vistazo a este proyecto simple . (solo instale node_modules e inicie npm start para iniciar el archivo app.js)

Sin embargo, si realmente quieres usar babel manualmente,

  • .babelrc es el nombre del archivo, puede ver uno en este proyecto (redux) para tener un ejemplo

  • .babelrc es un archivo de configuración, si quieres ver cómo funciona, puedes consultar este paquete. json (siempre redux)

  • En realidad, no hay una forma estándar que yo sepa. Puede usar el esqueleto del proyecto a continuación si es necesario y enviar una solicitud de extracción para mejorarlo :-)