{"id":684,"date":"2024-07-22T20:37:54","date_gmt":"2024-07-22T20:37:54","guid":{"rendered":"https:\/\/dockerpros.com\/?post_type=glossary&#038;p=684"},"modified":"2024-07-22T20:55:08","modified_gmt":"2024-07-22T20:55:08","slug":"nodo","status":"publish","type":"glossary","link":"https:\/\/dockerpros.com\/es\/wiki\/node\/","title":{"rendered":"Node"},"content":{"rendered":"<h1>Understanding Node.js: A Deep Dive for Advanced Users<\/h1>\n<h2>Introduction to Node.js<\/h2>\n<p>Node.js is an open-source, cross-platform runtime environment that allows developers to execute JavaScript code on the server side. It leverages the V8 JavaScript engine developed by Google, enabling non-blocking, event-driven architecture that is optimal for building scalable <span class=\"glossaryai-tooltip glossary-term-661\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/network\/\" target=\"_blank\">network<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A network, in computing, refers to a collection of interconnected devices that communicate and share resources. It enables data exchange, facilitates collaboration, and enhances operational efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/network\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> applications. Node.js provides a rich set of built-in libraries, making it a versatile choice for backend development, <span class=\"glossaryai-tooltip glossary-term-1249\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\" target=\"_blank\">API<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An API, or Application Programming Interface, enables software applications to communicate and interact with each other. It defines protocols and tools for building software and facilitating integration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> services, and microservices architecture. Its ability to handle multiple connections simultaneously with minimal overhead has positioned Node.js as a leading choice for modern web applications and services.<\/p>\n<h2>The Architecture of Node.js<\/h2>\n<h3>Event-Driven Architecture<\/h3>\n<p>At the core of Node.js is its event-driven architecture, which allows it to manage multiple connections concurrently without creating a new thread for each request. This model is particularly effective for I\/O-bound applications, as Node.js operates on a single-threaded event loop that manages asynchronous operations.<\/p>\n<ul>\n<li>\n<p><strong>Event Loop<\/strong>: The event loop is the heart of Node.js. It continuously checks for any pending events or callbacks, executing them in a non-blocking manner. When an I\/O operation is initiated (like a database query or file read), Node.js sends the request to the system and registers a callback function to be executed when the operation completes.<\/p>\n<\/li>\n<li>\n<p><strong>Callbacks and Promises<\/strong>: Node.js heavily relies on callbacks to handle asynchronous operations. However, as applications grow in complexity, callback hell can become a problem. Promises and the async\/await syntax introduced in ES2017 provide a more manageable way to handle asynchronous code, making it easier to read and maintain.<\/p>\n<\/li>\n<\/ul>\n<h3>Non-Blocking I\/O<\/h3>\n<p>Node.js\u2019s non-blocking I\/O model allows it to handle high volumes of simultaneous requests with great efficiency. Unlike traditional server models that block the execution of code while waiting for I\/O operations to complete, Node.js initiates the operation and moves on to the next <span class=\"glossaryai-tooltip glossary-term-683\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/task\/\" target=\"_blank\">task<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A task is a specific piece of work or duty assigned to an individual or system. It encompasses defined objectives, required resources, and expected outcomes, facilitating structured progress in various contexts.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/task\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span>, only returning to the callback once it receives a response. This means that even under heavy load, Node.js can sustain a high throughput of requests.<\/p>\n<h3>The V8 Engine<\/h3>\n<p>Node.js is built on the V8 JavaScript engine, which compiles JavaScript to native machine code for high performance. The V8 engine optimizes code execution by using just-in-time (JIT) compilation, which converts JavaScript into executable bytecode, allowing it to <span class=\"glossaryai-tooltip glossary-term-672\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\" target=\"_blank\">run<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">\"RUN\" refers to a command in various programming languages and operating systems to execute a specified program or script. It initiates processes, providing a controlled environment for task execution.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/run\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> at near-native speed. The integration of V8 is a significant factor in Node.js&#8217;s performance, as it allows the use of JavaScript on both the client and server sides.<\/p>\n<h2>Core Features of Node.js<\/h2>\n<h3>Package Management with npm<\/h3>\n<p>Node.js comes with npm (Node Package Manager), the largest ecosystem of open-source libraries and modules. Developers can easily install, share, and manage packages, enabling rapid development and the reuse of code. The command-line interface provides commands for installing, updating, and removing packages, which streamlines the development workflow.<\/p>\n<h3>Middleware and Frameworks<\/h3>\n<p>While Node.js is a runtime environment, it is often paired with frameworks such as Express, Koa, and Hapi to build web applications. These frameworks provide middleware capabilities that allow developers to handle requests, responses, and routing with ease. Middleware is a powerful concept in Node.js that allows developers to write modular components that can be reused across applications.<\/p>\n<ol>\n<li>\n<p><strong>Express<\/strong>: Perhaps the most popular framework, Express is known for its minimalism and flexibility. It allows developers to create robust web applications and APIs, offering features like routing, middleware support, and more.<\/p>\n<\/li>\n<li>\n<p><strong>Koa<\/strong>: Developed by the same team behind Express, Koa is designed to be a smaller, more expressive, and more robust foundation for web applications and APIs. It leverages async\/await for better error handling and more readable code.<\/p>\n<\/li>\n<li>\n<p><strong>Hapi<\/strong>: Focused on building applications and services, Hapi is known for its powerful plugin system and fine-grained configuration options. It is particularly useful for building large-scale applications.<\/p>\n<\/li>\n<\/ol>\n<h3>Real-time Communication<\/h3>\n<p>Node.js excels in real-time applications due to its event-driven nature. Libraries such as Socket.IO enable developers to create applications that require real-time communication, such as chat applications, live notifications, and collaborative tools. Socket.IO provides a simple <span class=\"glossaryai-tooltip glossary-term-1249\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\" target=\"_blank\">API<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An API, or Application Programming Interface, enables software applications to communicate and interact with each other. It defines protocols and tools for building software and facilitating integration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> for establishing and managing WebSocket connections, allowing for seamless two-way communication between clients and servers.<\/p>\n<h3>RESTful APIs and GraphQL<\/h3>\n<p>Node.js is well-suited for building RESTful APIs, a design pattern that has become the standard for web services. By using frameworks like Express, developers can quickly set up routes and handle HTTP requests, returning JSON responses to clients.<\/p>\n<p>In addition to REST, GraphQL has gained popularity as an alternative approach to <span class=\"glossaryai-tooltip glossary-term-1249\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\" target=\"_blank\">API<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An API, or Application Programming Interface, enables software applications to communicate and interact with each other. It defines protocols and tools for building software and facilitating integration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> design. GraphQL allows clients to request only the data they need, minimizing over-fetching and improving performance. Libraries such as Apollo Server facilitate the integration of GraphQL with Node.js applications, providing tools for schema definition, resolver implementation, and data fetching.<\/p>\n<h2>Advanced Concepts in Node.js<\/h2>\n<h3>Clustering<\/h3>\n<p>Due to its single-threaded nature, Node.js can be limited in terms of CPU-bound tasks. However, the clustering module allows developers to take full advantage of multi-core systems by spawning multiple instances of the Node.js application. Each instance runs on its own thread, enabling the application to handle a higher load.<\/p>\n<p>To implement clustering, the <code>cluster<\/code> module can be used as follows:<\/p>\n<pre><code class=\"language-javascript\">const cluster = require('cluster');\nconst http = require('http');\nconst numCPUs = require('os').cpus().length;\n\nif (cluster.isMaster) {\n  \/\/ Fork workers.\n  for (let i = 0; i &lt; numCPUs; i++) {\n    cluster.fork();\n  }\n  cluster.on('exit', (worker, code, signal) =&gt; {\n    console.log(`Worker ${worker.process.pid} died`);\n  });\n} else {\n  \/\/ Workers can share any TCP connection.\n  http.createServer((req, res) =&gt; {\n    res.writeHead(200);\n    res.end('Hello Worldn');\n  }).listen(8000);\n}<\/code><\/pre>\n<p>This code checks if the current process is the master. If it is, it forks worker processes equal to the number of CPU cores available. Each worker runs the HTTP server, allowing the application to handle more requests simultaneously.<\/p>\n<h3>Streams and Buffers<\/h3>\n<p>Node.js uses streams to handle data flow in a memory-efficient manner. Streams allow developers to process data in chunks rather than loading an entire dataset into memory at once. This feature is particularly useful for handling large files or <span class=\"glossaryai-tooltip glossary-term-661\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/network\/\" target=\"_blank\">network<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">A network, in computing, refers to a collection of interconnected devices that communicate and share resources. It enables data exchange, facilitates collaboration, and enhances operational efficiency.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/network\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> data.<\/p>\n<ul>\n<li>\n<p><strong>Readable Streams<\/strong>: These streams provide data that can be read in chunks. They are often used for file reading or HTTP requests.<\/p>\n<\/li>\n<li>\n<p><strong>Writable Streams<\/strong>: These streams allow data to be written in chunks, such as during file writing or HTTP responses.<\/p>\n<\/li>\n<li>\n<p><strong>Duplex Streams<\/strong>: These streams can read and write data simultaneously. They are useful in scenarios like TCP connections.<\/p>\n<\/li>\n<li>\n<p><strong>Transform Streams<\/strong>: These streams can modify data as it is being read or written, allowing for real-time data processing.<\/p>\n<\/li>\n<\/ul>\n<p>Buffers are used to handle binary data in Node.js. They are raw memory allocations that allow for efficient manipulation of binary data. For example, buffers can be used to read files in binary mode or to handle TCP streams.<\/p>\n<h3>Error Handling<\/h3>\n<p>Effective error handling is crucial in any application. Node.js utilizes a callback-based approach, where errors are typically the first argument passed to a callback function. However, with the advent of Promises and async\/await, error handling has become more manageable.<\/p>\n<p>Using try-catch blocks with async\/await allows developers to handle asynchronous errors gracefully:<\/p>\n<pre><code class=\"language-javascript\">const fs = require('fs').promises;\n\nasync function readFile(filePath) {\n  try {\n    const data = await fs.readFile(filePath, 'utf8');\n    console.log(data);\n  } catch (error) {\n    console.error('Error reading file:', error);\n  }\n}\n\nreadFile('example.txt');<\/code><\/pre>\n<p>In this example, if an error occurs while reading the file, it will be caught in the catch block, allowing for proper error handling and logging.<\/p>\n<h3>Testing Node.js Applications<\/h3>\n<p>Testing is an essential part of the development process. Several libraries and frameworks facilitate testing in Node.js applications:<\/p>\n<ol>\n<li>\n<p><strong>Mocha<\/strong>: A feature-rich JavaScript test framework that runs on Node.js and in the browser, providing a simple way to write and execute tests.<\/p>\n<\/li>\n<li>\n<p><strong>Chai<\/strong>: An assertion library that can be paired with Mocha to provide a variety of assertions for testing.<\/p>\n<\/li>\n<li>\n<p><strong>Jest<\/strong>: Developed by Facebook, Jest is a powerful testing framework that comes with built-in support for mocking and code coverage.<\/p>\n<\/li>\n<li>\n<p><strong>Supertest<\/strong>: A library for testing HTTP servers in Node.js, often used with Express applications to validate <span class=\"glossaryai-tooltip glossary-term-1249\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\" target=\"_blank\">API<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">An API, or Application Programming Interface, enables software applications to communicate and interact with each other. It defines protocols and tools for building software and facilitating integration.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/api\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> endpoints.<\/p>\n<\/li>\n<\/ol>\n<p>Example of a simple test using Mocha and Chai:<\/p>\n<pre><code class=\"language-javascript\">const chai = require('chai');\nconst expect = chai.expect;\n\ndescribe('Array', function() {\n  describe('#indexOf()', function() {\n    it('should return -1 when the value is not present', function() {\n      expect([1, 2, 3].indexOf(4)).to.equal(-1);\n    });\n  });\n});<\/code><\/pre>\n<p>This test checks if the <code>indexOf<\/code> method returns -1 when searching for a value not present in the array.<\/p>\n<h2>Performance Optimization in Node.js<\/h2>\n<h3>Profiling and Monitoring<\/h3>\n<p>To ensure your Node.js application runs efficiently, it&#8217;s crucial to monitor performance and identify bottlenecks. Tools such as <code>Node.js<\/code> built-in debugger, <code>clinic.js<\/code>, and <code>pm2<\/code> can provide insights into application performance.<\/p>\n<ol>\n<li>\n<p><strong>clinic.js<\/strong>: A powerful suite of tools for profiling Node.js applications. It provides various utilities for identifying performance issues, including CPU profiling and memory leak detection.<\/p>\n<\/li>\n<li>\n<p><strong>pm2<\/strong>: A production process manager for Node.js applications that offers features like monitoring, logging, and automatic restarting of applications.<\/p>\n<\/li>\n<\/ol>\n<h3>Caching Strategies<\/h3>\n<p>Implementing caching can significantly enhance performance by reducing response times and minimizing database queries. Strategies include:<\/p>\n<ol>\n<li>\n<p><strong>In-Memory Caching<\/strong>: Using libraries like <code>node-cache<\/code> or <code>memory-cache<\/code>, you can cache frequently accessed data in memory for quick retrieval.<\/p>\n<\/li>\n<li>\n<p><strong>Distributed Caching<\/strong>: Utilizing external caching solutions like Redis or Memcached allows for sharing cached data across multiple instances of your application.<\/p>\n<\/li>\n<\/ol>\n<h3>Load Balancing<\/h3>\n<p>To ensure high availability and scalability, <span class=\"glossaryai-tooltip glossary-term-697\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/load-balancing\/\" target=\"_blank\">load balancing<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Load balancing is a critical network management technique that distributes incoming traffic across multiple servers. This ensures optimal resource utilization, minimizes response time, and enhances application availability.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/load-balancing\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> is essential. Tools such as Nginx or HAProxy can distribute incoming traffic across multiple Node.js instances, preventing any single instance from becoming a bottleneck.<\/p>\n<h2>Conclusion<\/h2>\n<p>Node.js has revolutionized the way developers build scalable and efficient server-side applications. Its event-driven, non-blocking architecture, coupled with a rich ecosystem of packages and libraries, makes it a powerful tool for modern web development. By understanding advanced concepts such as clustering, streams, error handling, and performance optimization techniques, developers can harness the full potential of Node.js to create robust applications. As the landscape of web technology continues to evolve, Node.js remains at the forefront, enabling developers to push the boundaries of what&#8217;s possible with JavaScript on the server side. Whether building APIs, real-time applications, or microservices, Node.js offers the flexibility and performance necessary for today&#8217;s demanding applications.<\/p>","protected":false},"excerpt":{"rendered":"<p>Node, or Node.js, is a JavaScript runtime built on Chrome\u2019s V8 engine, enabling server-side scripting. It allows developers to build scalable <span class=\"glossaryai-tooltip glossary-term-661\"><span class=\"glossaryai-link\"><a href=\"https:\/\/dockerpros.com\/es\/wiki\/network\/\" target=\"_blank\">red<\/a><\/span><span class=\"gai-content-hidden glossaryai-tooltip-content\"><span class=\"gai-tooltip-body\"><span class=\"glossaryai-tooltip-text\">Una red, en inform\u00e1tica, es un conjunto de dispositivos interconectados que se comunican y comparten recursos. Permite el intercambio de datos, facilita la colaboraci\u00f3n y mejora la eficiencia operativa.<span class=\"glossaryai-more-link\"> <a href=\"https:\/\/dockerpros.com\/es\/wiki\/network\/\">More \u00bb<\/a><\/span><\/span><\/span><\/span><\/span> applications using asynchronous, event-driven architecture.<\/p>","protected":false},"author":1,"featured_media":1482,"parent":0,"template":"","glossary-cat":[],"class_list":["post-684","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Node - Dockerpros<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dockerpros.com\/es\/wiki\/nodo\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node - Dockerpros\" \/>\n<meta property=\"og:description\" content=\"Node, or Node.js, is a JavaScript runtime built on Chrome&#039;s V8 engine, enabling server-side scripting. It allows developers to build scalable network applications using asynchronous, event-driven architecture.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dockerpros.com\/es\/wiki\/nodo\/\" \/>\n<meta property=\"og:site_name\" content=\"Dockerpros\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-22T20:55:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/node\/\",\"url\":\"https:\/\/dockerpros.com\/wiki\/node\/\",\"name\":\"Node - Dockerpros\",\"isPartOf\":{\"@id\":\"https:\/\/dockerpros.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/node\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/node\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg\",\"datePublished\":\"2024-07-22T20:37:54+00:00\",\"dateModified\":\"2024-07-22T20:55:08+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/dockerpros.com\/wiki\/node\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dockerpros.com\/wiki\/node\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/node\/#primaryimage\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg\",\"width\":800,\"height\":600,\"caption\":\"node-2\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dockerpros.com\/wiki\/node\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dockerpros.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Glossary\",\"item\":\"https:\/\/dockerpros.com\/fr\/wiki\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Node\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dockerpros.com\/#website\",\"url\":\"https:\/\/dockerpros.com\/\",\"name\":\"Dockerpros\",\"description\":\"DockerPros \u2013 Your Ultimate Docker Resource Hub\",\"publisher\":{\"@id\":\"https:\/\/dockerpros.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dockerpros.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dockerpros.com\/#organization\",\"name\":\"Dockerpros\",\"url\":\"https:\/\/dockerpros.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"contentUrl\":\"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png\",\"width\":532,\"height\":114,\"caption\":\"Dockerpros\"},\"image\":{\"@id\":\"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Node - Dockerpros","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dockerpros.com\/es\/wiki\/nodo\/","og_locale":"es_ES","og_type":"article","og_title":"Node - Dockerpros","og_description":"Node, or Node.js, is a JavaScript runtime built on Chrome's V8 engine, enabling server-side scripting. It allows developers to build scalable network applications using asynchronous, event-driven architecture.","og_url":"https:\/\/dockerpros.com\/es\/wiki\/nodo\/","og_site_name":"Dockerpros","article_modified_time":"2024-07-22T20:55:08+00:00","og_image":[{"width":800,"height":600,"url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dockerpros.com\/wiki\/node\/","url":"https:\/\/dockerpros.com\/wiki\/node\/","name":"Node - Dockerpros","isPartOf":{"@id":"https:\/\/dockerpros.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dockerpros.com\/wiki\/node\/#primaryimage"},"image":{"@id":"https:\/\/dockerpros.com\/wiki\/node\/#primaryimage"},"thumbnailUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg","datePublished":"2024-07-22T20:37:54+00:00","dateModified":"2024-07-22T20:55:08+00:00","breadcrumb":{"@id":"https:\/\/dockerpros.com\/wiki\/node\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dockerpros.com\/wiki\/node\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dockerpros.com\/wiki\/node\/#primaryimage","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/node_684.jpg","width":800,"height":600,"caption":"node-2"},{"@type":"BreadcrumbList","@id":"https:\/\/dockerpros.com\/wiki\/node\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dockerpros.com\/"},{"@type":"ListItem","position":2,"name":"Glossary","item":"https:\/\/dockerpros.com\/fr\/wiki\/"},{"@type":"ListItem","position":3,"name":"Node"}]},{"@type":"WebSite","@id":"https:\/\/dockerpros.com\/#website","url":"https:\/\/dockerpros.com\/","name":"Profesionales de Docker","description":"DockerPros \u2013 Tu centro definitivo de recursos Docker","publisher":{"@id":"https:\/\/dockerpros.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dockerpros.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/dockerpros.com\/#organization","name":"Profesionales de Docker","url":"https:\/\/dockerpros.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/","url":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","contentUrl":"https:\/\/dockerpros.com\/wp-content\/uploads\/2024\/07\/Dockerpros_logo_blanco.png","width":532,"height":114,"caption":"Dockerpros"},"image":{"@id":"https:\/\/dockerpros.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/glossary\/684","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/types\/glossary"}],"author":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":0,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/glossary\/684\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/media\/1482"}],"wp:attachment":[{"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/media?parent=684"}],"wp:term":[{"taxonomy":"glossary-cat","embeddable":true,"href":"https:\/\/dockerpros.com\/es\/wp-json\/wp\/v2\/glossary-cat?post=684"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}