Los cambios ambientales han provocado un gran salto tecnológico hacia adelante, con oportunidades y desafíos que llegan al mismo tiempo. Como no aprendí JS, tuve que conducir el pato para ponerlo en los estantes y aprenderlo juntos. (><)
1. Lea el libro primero
Al principio leí "Node.js" en profundidad y fácil de entender ", y me di cuenta de que este libro requiere una cierta base después de leerla. Busqué en línea la "Introducción al nodo" de 41 páginas y aprendí a construir una aplicación web por mí mismo. Y después de actualizar la sensación de logro, leí "The Great Node.js". Ahora voy a leer el libro nuevamente después de leer "Node.js en profundidad y fácil de entender".
2. Construya un entorno para ejecutar rutinas en GIT (3 errores reportados)
Después de descargar MSI en el sitio web oficial, vaya a continuación. Al ingresar la instalación de NPM de comando, se informa un error "¡NPM ERR! No encontrado: Git". La razón es que la nueva computadora no sigue a Git.
Al instalar el paquete de dependencia externa, se informó un error "¡Error de configuración Gyp! Configuración", y la razón fue que el entorno Python no. Además, este paquete de dependencia solo se puede instalar en la versión inferior. El último error fue "MSBuild: Error MSB3428: componente Visual C ++" VCBuild.exe "no se cargó. El error aún se informó después de instalar .NET Framework 2.0 SDK y MVS2005. Actualice decisivamente.
3. La primera aplicación web
Después de ejecutar "Hello World", comience a escribir una aplicación web que esté completamente basada en el nodo. Primero, debe iniciar el módulo del servidor. El objeto devuelto por la función CreateServer en el módulo HTTP tiene un puerto de escucha de escucha ([puerto]). Los parámetros de esta función son extraños y son una definición de función. En JavaScript, una función puede recibir un parámetro como otra función, y la función del parámetro se llama función anónima. La razón para usar este método es que Node usa devoluciones de llamada basadas en eventos. Cuando el servidor recibe una solicitud en un solo proceso, llamará a esta función para procesar la solicitud. Cuando se produce un evento correspondiente, la función CreateServer llama a esta función de un lado a otro.
Después de recibir la solicitud HTTP, tenemos que procesar la solicitud. Primero, proponemos de manera abstracta diferentes URL y obtenemos y publicamos parámetros a la solicitud. Aquí usamos dos URL de módulos internos (URL de análisis) y cadena de consulta (cadenas de consulta de procesamiento). Y agregue el módulo del enrutador a través de la inyección de dependencia. A continuación, el módulo que maneja la solicitud debe completarse antes de mejorar el enrutamiento. Todas las solicitudes se pasan primero entre módulos a través de un mango, y el controlador puede responder. En términos generales, deje que el controlador de solicitud devuelva directamente (return ()) la información que desean mostrar al usuario a través de la función OnRequest. Sin embargo, puede llevar mucho tiempo al realizar operaciones de bloqueo, por lo que necesitamos usar operaciones que no sean de bloqueo. Use devoluciones de llamada al pasar la función como argumento a otras funciones que tardan tiempo en procesarse. En comparación con la transferencia de contenido al servidor, utilizamos el método de "pasar" el servidor al contenido esta vez. Es pasar el objeto de respuesta (obtener de la función de devolución de llamada del servidor onRequest ()) como un parámetro de función al controlador a través del enrutamiento. De esta manera, el controlador puede llamar a las funciones del objeto.
A continuación, llevaremos a cabo el paso de procesamiento, cargaremos imágenes a través del formulario, y aquí usamos el paquete de dependencia externo formidable para recibir imágenes. Este módulo se utiliza para procesar formularios y cargar archivos. Primer uso var formar = new Formatable.InComingForm (); Para obtener un objeto de formulario. El método de análisis de este objeto puede analizar y procesar los datos del formulario. Simplemente guardamos el archivo. El módulo FS se usa para guardar el archivo. Al cambiar el nombre del método, especificando la ubicación guardada, utilizando el método sincronizado renamesync (), el comportamiento de guardar archivo se puede precedir mostrando el comportamiento de la imagen.
Es muy simple mostrar imágenes. Puede leer el archivo a través del método ReadFile de FS. Puede usar Response.Write (archivo, "binario") en su función de devolución de llamada para mostrar imágenes en el navegador.
Para resumir: a través de esta rutina, hemos aprendido sobre las características en Node.js, como un solo hilo, asíncrono, basado en eventos, etc. Algunos de estos conceptos abstractos también se muestran a través de rutinas, pero aún necesitan ser entendidos en profundidad. Aprender a través de rutinas significa que debe verificar la información cuando no la comprenda. Este método de aprendizaje también es un buen método de tipo de entrada-salida de entrada.