Conozca las partes buenas de JavaScript y conozca su sintaxis moderna (ES2015):
Node es un conjunto de bibliotecas en la parte superior del motor V8 que puede compilar JavaScript. Por lo tanto, no hace falta decir que las habilidades importantes para JavaScript en sí son un subconjunto de las habilidades importantes para Node. Deberías comenzar con el propio JavaScript.
¿Entiende funciones, ámbitos, enlaces, esta palabra clave, nueva palabra clave, cierres, clases, patrones de módulos, prototipos, devoluciones de llamada, promesas? ¿Conoces todas las cosas que puedes hacer en Números, Cadenas, Matrices, Conjuntos, Objetos, Mapas?
- Una vez que tenga una comprensión básica de Java, ¿debería mejorar mis habilidades de Java desarrollando aplicaciones de Android o aprendiendo Spring servlet para servicios web?
- ¿Por qué no se puede almacenar un directorio en un archivo?
- ¿Cuál es el papel del photoshop en la creación de un sitio web?
- ¿Es ilegal copiar las subcategorías como escritura y traducción de otro sitio web?
- Cómo iniciar un sitio ASP.NET
Comprenda la naturaleza no bloqueante de Node:
Las devoluciones de llamada y las promesas (y los patrones generadores / asíncronos) son especialmente importantes para Node, debe comprender cómo las operaciones asincrónicas son de primera clase en Node.
Puede comparar la naturaleza sin bloqueo de las líneas de código en un programa Node con la forma en que ordena un café Starbucks (en la tienda, no en el drive-thru)
- Haz tu pedido | Darle al nodo algunas instrucciones para ejecutar (una función)
- Personaliza tu pedido, sin crema batida, por ejemplo | Dele a la función algunos argumentos: ({whippedCream: false})
- Déle al trabajador de Starbucks su nombre con la orden | Devuelva la llamada a Node con su función: ({whippedCream: false}, callback)
- Hazte a un lado y el trabajador de Starbucks recibirá órdenes de personas que te siguieron en la fila | Node tomará instrucciones de las líneas después de la suya.
- Cuando su pedido esté listo, un trabajador de Starbucks lo llamará y le dará su pedido listo | Cuando se calcula su función y Node tiene un resultado listo para usted, llamará a su devolución de llamada con ese resultado:
callback(result)
He escrito una publicación de blog sobre esto: Programación asincrónica como se ve en Starbucks
Aprenda el modelo de concurrencia de JavaScript y cómo se basa en un bucle de eventos :
Hay una pila, un montón y una cola. Puedes leer libros sobre este tema y aún no entenderlo por completo, pero te garantizo que lo harás si miras a este tipo.
Comprenda cómo un proceso de Nodo nunca duerme y saldrá cuando no quede nada por hacer:
Un proceso de Nodo puede estar inactivo pero nunca duerme, y realiza un seguimiento de todas las devoluciones de llamada pendientes, y si no queda nada para ejecutar, se cerrará.
Aprenda las variables globales que puede usar, como proceso y módulo.
Todos están definidos en una variable global (que generalmente se compara con la variable de ventana en los navegadores). En un Node REPL, escriba global. y presione la pestaña para ver todas las opciones. Algunos de ellos son JavaScript (como global.Array y global.Object), algunos son funciones de biblioteca de Nodo (como global.setTimeout o consola para imprimir en stdout / stderr), y algunos de ellos son objetos globales de Nodo que puede usar para ciertas tareas (como global.process.env para leer las variables de entorno)
Necesita comprender la mayor parte de lo que ve en esa lista.
Aprenda lo que puede hacer con las bibliotecas que vienen con Node y cómo se centran en la “creación de redes”:
Algunos de ellos se sentirán familiares como Timers, por ejemplo, porque también existen en el navegador y Node está simulando ese entorno, pero hay mucho más que aprender, como fs
, path
, readline
, http
, net
, .. (Vea la lista de global. arriba).
Por ejemplo, puede leer / escribir archivos con “fs”, puede ejecutar un servidor web listo para la transmisión usando “http”, puede ejecutar un servidor tcp y programar sockets con “net”, … etc.
La biblioteca de eventos es especialmente importante porque la mayor parte de la arquitectura Node está dirigida por eventos.
Para aprender la API del nodo, todo lo que tiene que hacer es leer y comprender esta página web única.
Comprenda por qué Node se llama Node:
Construye bloques de construcción (nodos) simples de un solo proceso, que se pueden organizar con buenos protocolos de red para que se comuniquen entre sí y escalen para construir grandes programas distribuidos.
Lea e intente comprender algún código escrito para Node:
Elija un marco como Express e intente comprender parte de su código, haga preguntas específicas sobre las cosas que no conoce. Si puede encontrar un grupo para leer, sería mucho mejor. Ver ReadingCodeGood
Escriba una aplicación web en Node sin usar ningún marco:
Intente manejar tantos casos como sea posible, responda con un archivo HTML, analice cadenas de consulta, acepte la entrada de formularios, cree un punto final que responda con JSON, … etc.
Además, escriba un servidor de chat, publique un paquete npm e intente contribuir a un proyecto de código abierto basado en nodos.
Buena suerte.