ExpressWorks:un taller y tutorial automatizado de Express.js/Node.js

TL;RD :ExpressWorks es un taller automatizado de Express.js/Node.js.

ExpressWorks es un taller automatizado de Express.js/Node.js.

Durante los momentos de diversión en NodeConf 2013, uno de los talleres fue stream-adventures de @substack y @maxogden. Está hecho en forma de un antiguo juego de consola basado en texto. Recientemente, se transformó en nodeschool.io con la adición de recursos de aprendizaje en LevelDB, Node en sí y otros temas. El menú y el marco de validación se resumieron en la biblioteca de Workshopper.

Inspirándome en todos estos recursos, armé ExpressWorks durante nuestro hackatón de 36 horas en DocuSign. Puede visitar npmjs.org/expressworks o github.com/azat-co/expressworks. Mientras que para aquellos que ya tienen instalado Node.js (y NPM), este simple comando hará el truco:

$ sudo npm install -g expressworks@latest

En caso de que tenga alguna sugerencia o encuentre errores (¡estoy seguro de que hay algunos!), envíe los problemas de GitHub en github.com/azat-co/expressworks/issues.

Aquí está la lista de ejercicios a partir de ahora (¡habrán más más adelante!).

Hola mundo

Cree una aplicación Express.js que se ejecute en localhost:3000 y genere "¡Hola mundo!" cuando alguien va a rootear ‘/home’.

process.argv[2] será proporcionado por expressworks, este es el número de puerto.

Jade

Cree una aplicación Express.js con una página de inicio (/home) representada por el motor de plantillas de jade, que muestre la fecha actual (toDateString).

Buena forma antigua

Escriba una ruta (‘/formulario’) que procese la entrada del formulario HTML (

) e imprime al revés el valor de str.

Estático

Aplique middleware estático al archivo index.html del servidor sin ninguna ruta. El archivo index.html se proporciona y se puede utilizar a través de process.argv[3] valor del camino hacia él. Sin embargo, puede usar su propio archivo con este contenido:

  <html>
    <head>
      <link rel="stylesheet" type="text/css" href="/main.css"/>
    </head>
    <body>
      <p>I am red!</p>
    </body>
  </html>

CSS elegante

Dale estilo a tu HTML del ejemplo anterior con algún middleware de Stylus. La ruta al archivo main.styl se proporciona en process.argv[3] o puede crear su propio archivo/carpeta a partir de estos:

  p
    color red

El archivo index.html:

  <html>
    <head>
      <title>expressworks</title>
      <link rel="stylesheet" type="text/css" href="/main.css"/>
    </head>
    <body>
      <p>I am red!</p>
    </body>
  </html>

Param Pam Pam

Cree un servidor Express.js que procese PUT /message/:id solicitudes, por ejemplo, PUT /message/526aa677a8ceb64569c9d4fb .

[Nota al margen]

Leer publicaciones de blog es bueno, pero ver cursos en video es aún mejor porque son más atractivos.

Muchos desarrolladores se quejaron de la falta de material de video de calidad asequible en Node. Es una distracción ver videos de YouTube y una locura pagar $ 500 por un curso de video de Node.

Visite Node University, que tiene cursos de video GRATUITOS en Node:node.university.

[Fin de la nota al margen]

Como respuesta a esta solicitud, devuelva el ID SHA1 con hash con una fecha:

  require('crypto')
    .createHash('sha1')
    .update(new Date().toDateString().toString() + id)
    .digest('hex')

Qué hay en Consulta

Escriba una ruta que extraiga datos de la cadena de consulta en GET /search Ruta URL, por ejemplo, ?results=recent&include_tabs=true y luego lo transforma y lo devuelve al usuario en formato JSON.

JSON para mí

Escriba un servidor que lea un archivo (el nombre del archivo se pasa en process.argv[3] ), lo analiza a JSON y envía el contenido al usuario con res.json(object) .