- Node.js 기능은 이벤트와 E/S에 대한 모델 방향을 정하고 이상적인 동시 실행을 보장하지 않습니다.
- Arquitectura 모듈형: 서버, 라우터 및 처리기가 에스컬라 및 관리를 용이하게 합니다.
- 웹 환경, 환경 및 미들웨어의 앱 생성 속도를 높이세요.
- Trabaja con npm y modulos nativos para cubrir archives, red, rutas y sistema.

Node.js를 통해 연락할 수 있는 방법이 무엇인가요?, aquítienes una guía pensada para empezar con buen Pie: iremos de lo más básico a un flujo de trabajo real, con ejemplos prácticos y explicaciones claras. 기술을 사용하는 방법에 대해 Hola Mundo는 앱 웹 사이트에서 Express 시스템을 사용하고 있으며, npm 및 enfoque asíncrono que hace tan 특별한 환경 보호 시스템을 Node.js에서 사용하고 있습니다.
Además de orientarte con Visual Studio Code 및 기본 프로젝트에 대한 사전 요구 사항, 구성, 서버의 HTTP 구성, 정책 관리, 제어 관리, POST의 데이터 차단 및 이벤트 기반 파일 실행 등의 구성이 포함되어 있습니다. Todo con un lenguaje cercano, sin Rodeos, y con el toque necesario para que no te pierdas.
Node.js에 대한 사전 요구 사항 및 요구 사항
JavaScript 기본 기능을 사용하려면 필요합니다. (tipos, Variables, funciones, objetos) y ganas de probar cosas con la consola. Node.js는 JavaScript fuera del navegador의 엔터노 드이고, V8 기반이며 강력한 라이브러리 모델이며 ejecución 모델입니다. dirigido por eventos y no bloqueante. Esto le allowede gestionar muchas conexiones conexiones sin crear un hilo por cada petición.
Con Node puedes construir 웹 서비스, API REST, 라인 관리, 실제 앱(채팅, 알림), 통합은 IoT 데이터와 프로젝트를 기반으로 통합됩니다. E/S 동시 사용을 위해서는 트래픽과 상호 작용 경험이 이상적이어야 합니다.
다운로드 및 설치
공식 웹사이트의 Node.js 다운로드 en nodejs.org 및 시스템 운영 체제를 설치하세요. En Windows, macOS 또는 Linux는 설치 및 패키지에 대한 패키지를 제공합니다. 설치 후 터미널 확인: node -v y npm -v. npm은 Node 및 형식 센실라의 설치 허가서에 대한 패키지를 제공합니다.
Tu 프라이머 접촉: Hola Mundo con VS Code
Visual Studio Code를 사용해보세요, puedes abrir la Carpeta del proyecto y lanzar el Terminal integrado con total commodidad. Crea una Carpeta de trabajo y entra en ella: mkdir HelloNode && cd HelloNode.
Ahora abre esa Carpeta 및 VS Code con 코드.. 호출 된 파일 만들기 app.js 나는 다음과 같은 방법을 소개합니다: un mensaje por consola.
var msg = 'Hello World';
console.log(msg);
Para ejecutarlo, abre la Terminal integrada en VS Code (Ver > Terminal, o atajo Ctrl+`), y lanza node app.js. 고전 클래식 출력 "Hello World" en la consola; sí, sencillo, pero 확인 que todo va bien.
서비스 제공자: 최소 HTTP 서버
기본 llamado 'http' 모듈의 노드 trae Con el que puedes crear un servidor en pocas líneas. 엘 코라손 에스 http.createServer, que recibe una función callback que se ejecuta Cada vez que llega una petición.
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/html'});
response.write('Hola Mundo');
response.end();
}).listen(8888);
Arráncalo con node server.js 그리고 방문하다 http://localhost:8888/. La magia de Node는 이벤트에 대한 모델 방향을 정하고 있습니다.: pasas una función y el run la “llama de vuelta”(콜백)가 이벤트 종료에 성공하도록 합니다(una petición entrante).
엔텐디엔도 콜백, asincronía y flujo de ejecución
En JavaScript las funciones son ciudadanos de Primera: se pueden pasar como 논거, devolver y almacenar en 변수. Node: tu código registra funciones que se ejecutan caando ocurren sucesos(예: HTTP 요청에 따라).
차이점을 이해하는 것이 중요합니다. Operaciones bloqueantes 및 bloqueantes 없음. Si는 algo que ocupa la CPU durante segundos(por ejemplo, un bucle de espera), el proceso entero se detiene y todas las peticiones sufren을 소개합니다. 엔노드, trabaja siempre que puedas con E/S asíncrona y 콜백 또는 Promesas para evitar bloquear el hilo.
모듈식 디자인: 서버, 라우터 및 관리자
Separar responsabilidades 프로젝트에 대한 보호를 받으려면 HTTP 서비스 모듈을 모듈화하고 제어 장치를 제어할 수도 있습니다(요청 처리기). Puedes exponer funciones con exports y는 로케일 모듈을 요구합니다 require('./miModulo').
구조의 주요 내용은 다음과 같습니다. index.js como punto de entrada, 서버.js HTTP 서버와 함께 router.js para decidir a qué función mandar cada ruta y 요청핸들러.js con la logica de cada 끝점입니다. 문서를 쉽게 읽을 수 있고 쉽게 확인할 수 있는 조직입니다.
엑스트라엔도 라 루타 이 엔루탄도
개체 요청 시 URL 요청. El módulo nativo url permite extraer el 경로명 y, si hace falta, la query. 또한, 라우터는 제어 장치를 제어하기 위한 결정을 내렸습니다.
var url = require('url');
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
// route(pathname) ...
}
엘 라우터 수신 엘 mapa de rutas a funciones (un objeto donde cada clave es una ruta, y el valor, el handler), junto con el pathname, y comprueba si hay una función asociada. Si 존재한다, la ejecuta; 아니요, devuelve un 404.
Haciendo que el handler responsea (el patrón Correcto)
Una tentación habitual es hacer que el controlador retorne un string y que el servidor lo escriba. Pero esto falla cuando el handler necesita hacer algo asíncrono (como leer de disco o ejecutar un comando). 솔루션 효과 inyectar el objeto response 처리기를 실행하면 해당 처리기가 응답을 받기 전에 처리됩니다(예를 들어, 기능 관련 콜백에 대해).
// router.js
function route(handle, pathname, response) {
if (typeof handle[pathname] === 'function') {
handle[pathname](response);
} else {
response.writeHead(404, {'Content-Type': 'text/html'});
response.write('404 No Encontrado');
response.end();
}
}
이 접근 방식은 다음을 허용합니다. 응답자 justo cuando la E/S asíncrona concluye, sin bloquear el proceso ni forzar a devolver datos antes de timpo.
익스프레스: crea una app web en minutos
Node.js에 대한 미니멀리스트 프레임워크를 표현합니다. HTTP를 활용하여 기본, 전망, 미들웨어를 쉽게 관리할 수 있습니다. 생성된 정보는 두 번째 프로젝트의 구조, 실제 카펫, 풍경 및 재귀 추정 항목을 작성하는 데 사용됩니다.
- 프로젝트를 위한 폴더를 만드세요:
mkdir ExpressProjects && cd ExpressProjects. - 식물의 속:
npx express-generator HelloWorld --view=pugcrea la app con motor de vistas Pug. - VS 코드에서 삭제 와
code .y revisa la estructura: 큰 상자 (배열), 공개 (JS/CSS/이미지), 노선 (controladores de rutas), 보기 (플란틸라스), 앱.js (구성), package.json (스크립트 및 종속성). - 종속성 설치 와
npm installen la carpeta del proyecto. - 앱 시작. 예를 들어, 설명:
npx cross-env DEBUG=HelloWorld:* npm start. - 열기 http://localhost:3000. Prueba a cambiar la vista 교장:에서
views/index.pug, sustituye el título porh1 "Hello World!"그리고 재충전하세요.
필요에 따라 Express 통합 GET, POST, PUT 및 DELETE 관리, 미들웨어를 사용하여 환경을 설정하고, 다양한 페이지와 마찰에 따라 앱의 구조를 렌더링할 수 있습니다.
npm 및 노드 통합 모듈
npm es el gestor de paquetes de Node y terceros librerías 설치를 허용합니다. 예를 들어, Express를 선택하면 다음과 같습니다. npm install express. Después podrás require('express') y utilizarlo en tu código. Esta flexibilidad es clave para crecer con tu proyecto.
Además, Node incluye 네이티브 모듈 para tareas comunes: fs (아카이브), http/https (서버), path (루타스), os (datos del sistema), url (URL 구문 분석 중) y muchos más. Puedes importarlos con require() 아무것도 설치하지 않고.
Probando un modulo nativo: 시스템 정보 제공
작동 시스템 시스템의 모듈로 'os'. Abre la consola y entra en el REPL de Node con node para probar funciones rápidamente sin create archives.
- 쓰기
os.platform()para saber la plataforma(win32, 리눅스, 다윈…). Confirmarás el SO activo 직접. - 와
os.arch()obtendrás la arquitectura (x64, arm64…). Util para binarios o builds. - 미국
os.cpus()para ver lo los núcleos disponibles. 이상적인 균형 화물 클러스터 또는 프로세스가 복잡합니다. - REPL con의 살
.exito pulsando Ctrl+C 두 번 누르세요. Rápido y sin residuos.
Biblioteca de terceros útil en el día a día
El ecosistema npm es enorme. Algunas는 인기를 얻습니다: 날카로운 (이미지 및 압축의 Tratamiento), PDF키트 (PDF 생성), 유효성 검사기.js (validación de cadenas), 이미지민 y UglifyJS (축소화), 스프라이트스미스 (스프라이트), 윈스턴 (로깅) y 사령관.js (CLI). Intálalas con npm install <paquete> 필요할 때.
Node.js 문서 보관소 코드 보기
Guarda tu código en un archive, por ejemplo app.js, y ejecútalo con node app.js 엔라 터미널. Esto inicia tu programa y verás los resultados en consola o, si levantas un servidor, en tu navegador.
실제 애플리케이션에 대한 Del REPL: 전체 버전
Probar en el REPL es Perfecto para funciones pequeñas, pero en cuanto tu código crece, te conviene pasar a archives, Organizar modulos y añadir scripts de npm. De esta forma podrás npm 실행을 통한 자동화 도구 tareas y documentar los comandos de inicio en package.json.
Manejando datos POST sin bloquear
공식을 사용하는 방법을 알아보세요., el querpo de la petición puede llegar en varios trozos. En el servidor(콜백 드 createServer) 청취자 여러분 data y end para ir acumulando el contenido y procesarlo al final. 코드화에 대한 정보는 UTF-8에 따라 조작하여 수정해야 합니다.
request.setEncoding('utf8');
var postBody = '';
request.addListener('data', function(chunk) {
postBody += chunk;
});
request.addListener('end', function() {
// route(handle, pathname, response, postBody)
});
Si는 더 많은 개인을 필요로 합니다. 'querystring' 모듈을 사용하세요 파라 파세어 엘 쿠에르포 쿠안도 레가 코모 application/x-www-form-urlencoded: querystring.parse(postBody).text예를 들면.
Operaciones costosas y exec no bloqueante
Para ejecutar comandos del sistema Sin detener el servidor, utiliza child_process.exec y는 콜백에 응답합니다. Puedes añadir opciones como timeout o maxBuffer para controlar comandos pesados. El patrón es siempre el mismo: nada de bloquear, y 응답자는 cuando haya datos입니다.
var exec = require('child_process').exec;
function handler(response) {
exec('ls -lah', function(error, stdout, stderr) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.write(stdout);
response.end();
});
}
과거의 상황에 따라 캠비아가 정상적으로 작동할 때까지 정상적인 휴식을 취해야 합니다. No hagas trabajo sincrónico costoso en el hilo 교장.
Subidas de ficheros: enfoque y herramientas
Para manejar는 여러 부분으로 업로드합니다. (다른 문서의 이미지) 실제 작업에서는 특히 특별하게 반복됩니다. 모듈로스 코모 만만치 않은 facilitan parsear formularios multipart/form-data, los archives temporaryes y moverlos a su destino에 액세스하세요. 잘못된 생각: 콜백/약속 스트림을 통해 형식을 확인하세요.
구현이 완료되면 첫 번째 작업이 완료됩니다. 업로드 시 통합하는 것이 중요합니다. 서버 que recibe el formulario, 라우터 que dirige a la ruta de subida, y 매니저 que valida, Guarda y response con el resultado(por ejemplo, Mostrando la imagen).
전망과 식당의 구조
Express와 Pug u otro 모터의 선택 사항, 제어 장치는 pasa datos a la vista y esta los renderiza입니다. Para un Formulario sencillo con un textareaeviado por POST y una ruta que lo muestra, basta con dos handlers: uno que sirve el Formulario y otro que procesa y devuelve el contenido 받았다.
좋은 조직 관행
Evita archivos monolíticos. Divide en modulos, nombra funciones con verbos que expresen acciones (por ejemplo, 시작하다, 고통, 뚜렷한), y desacopla con inyección de dependencyencias cuando tenga sentido(pasando funciones o mapas de rutas al servidor y al router). Mantener las capas ligeras te perperirá crecer sin dolores.
Node.js를 사용하여 구성하는 방법
이벤트 중심 모델과 비차단 모델 특별한 부에노 파라: 웹 서비스, API REST, 실제 앱(채팅, 대시보드), 봇 및 CLI, 데이터 기반 통합, 작업 작업, 하드웨어 제어 등이 있습니다. 웹소켓과 스트리밍을 통해 자연스러운 상호작용 경험을 통해 전기를 편리하게 이용할 수 있습니다.
- Servidores y sitios web SSR의 플랜틸라.
- REST API 알토 트래픽 준비.
- 실시간 콘 소켓 파라 채팅, 알림 또는 게임에 대한 알림입니다.
- 명령줄 도구 작업을 자동화합니다.
- Ficheros y bases de datos에 대한 프로세스, 콜라와 파이프라인.
- 사물인터넷 및 하드웨어 con librerías específicas.
실제 계획 및 실습 도구
Existen entornos Interactiveivos que muestran código y salida lado a lado, 이상은 빠른 속도로 진행되는 것입니다. 또한, 프로그레서의 진행 상황은 문서 작성, 문서 복사 및 로컬 연결에서 기본적으로 충분하다고 판단되는 배출입니다.
Visual Studio Code: productividad sin salir del 편집기
El 터미널 통합, El Depurador y las Extensiones VS Code hacen que trabajar con Node sea muy cómodo. "Ver > Terminal"은 쉘에 대해 설명되어 있으며, 사전 결정된 내용과 추출 내용이 다릅니다. node o npm run 편집자를 포기한 죄. 아데마스, launch.json 구성 당신은 파소와 파소를 허용합니다.
현재 버전의 버전이 확인되었습니다.
Muchas guías clásicas se probaron con versiones antiguas de Node, pero 로스 콘셉토스 세 만티넨 비겐테스: 콜백, 기본 모듈, 비동기, 응답 분리 등을 포함합니다. Hoy trabajarás con versiones reales, más fast y seguras, y con un ecosistema npm aún más rico.
다운로드 및 추가 항목
문서, PDF 및 튜토리얼에 대한 증폭된 estudio를 제공합니다.. Revisa siempre la web oficial de Node para novedades y descarga, e identifica fuentes didácticas que incluyan ejercicios, quizzes y retos para afianzar conocimientos a medida que avances.
버스 자료 보완, 가이드 소개 및 예시 실제 참조, 바다 필수 항목에 대한 설명을 함께 참조하세요. Mantén tu foco en practicar: leer está bien; ejecutar, romper cosas y arreglarlas, mejor.
예제: 라우터 및 핸들러와 관련된 미니 앱
Juntando piezas. Imagina un proyecto con index.js que arranca el servidor, 서버.js HTTP와 POST 구문 분석으로 router.js que done qué función ejecutar y 요청핸들러.js con dos rutas: una que muestra un Formulario y otra que enseña el textoeviado.
// index.js
var server = require('./server');
var router = require('./router');
var handlers = require('./requestHandlers');
var handle = {};
handle['/'] = handlers.iniciar;
handle['/iniciar'] = handlers.iniciar;
handle['/subir'] = handlers.subir;
server.iniciar(router.route, handle);
// server.js
var http = require('http');
var url = require('url');
function iniciar(route, handle) {
function onRequest(request, response) {
var postData = '';
var pathname = url.parse(request.url).pathname;
request.setEncoding('utf8');
request.addListener('data', function(chunk) { postData += chunk; });
request.addListener('end', function() {
route(handle, pathname, response, postData);
});
}
http.createServer(onRequest).listen(8888);
}
exports.iniciar = iniciar;
// router.js
function route(handle, pathname, response, postData) {
if (typeof handle[pathname] === 'function') {
handle[pathname](response, postData);
} else {
response.writeHead(404, {'Content-Type': 'text/html'});
response.end('404 No Encontrado');
}
}
exports.route = route;
// requestHandlers.js
var querystring = require('querystring');
function iniciar(response) {
var body = '<html>'+
'<head><meta charset=\'UTF-8\' /></head>'+
'<body>'+
'<form action=\'/subir\' method=\'post\'>'+
'<textarea name=\'text\' rows=\'10\' cols=\'40\'></textarea>'+
'<input type=\'submit\' value=\'Enviar\' />'+
'</form>'+
'</body></html>';
response.writeHead(200, {'Content-Type': 'text/html'});
response.end(body);
}
function subir(response, postData) {
var text = querystring.parse(postData).text || '';
response.writeHead(200, {'Content-Type': 'text/html'});
response.end('Tu enviaste: ' + text);
}
exports.iniciar = iniciar;
exports.subir = subir;
Con este esqueleto minimo ya Tienes un servidor funcional y no bloqueante, con rutas y controladores separados, preparado para crecer hacia vistas, uploads o integración con bases de datos.
La clave de Node está en pensar en "acciones": pasar funciones, inyectar dependencyencias cuando convenga y mantener pequeños los bloques de responsabilidad. 아시다시피, 응용 프로그램을 사용하면 손쉬운 설치 및 적응이 완벽하게 이루어집니다.
Todo lo visto te da una base sólida: desde instalar Node y ejecutar tu 프라이머 스크립트, pasando por VS Code, HTTP 기본 서버, 기본 속성, Express, npm, 기본 모듈, REPL, 블록 생성 오류 그리고 POST 공식을 작성하세요. 실제로 실행하고 반복적으로 프로젝트를 구성하면 코드를 작성하는 데 필요한 모든 것이 완료됩니다.