Implementación de aplicaciones de Node.js

Para mostrar cómo implementar una aplicación nodejs, primero vamos a crear una aplicación de muestra para comprender mejor el proceso. 
He creado un «ejemplo» de directorio/carpeta para mi proyecto de ejemplo.
Antes de continuar, asegúrese de haber instalado nodejs y git en su sistema
Ahora, abra la línea de comando y cd dentro del directorio de ejemplo (o cualquiera que sea el nombre de la carpeta de su proyecto)
Siga los siguientes pasos para crear la aplicación de muestra para este tutorial
PASO 1: Cree un archivo «paquete.json» usando el siguiente comando
 

npm init

npm init

PASO 2: Cree un archivo llamado «app.js» dentro de la carpeta de su proyecto
PASO 3: Cree un archivo html «head.html»
Complete el archivo con el siguiente contenido 
Esta será la página de inicio de nuestra aplicación que está conectada a otra página a través de Hipervínculo.
 

html

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
  
    <h1>This is the Homepage</h1>
      
<p><a href="/tailPage">Go to Next Page</a></p>
  
  
</body>

PASO 4: Crear otro archivo html “tail.html” 
El contenido de tail.html es 
 

html

<!DOCTYPE html>
<html>
<head>
    <title>Hello World</title>
</head>
<body>
  
    <h1>WORKING</h1>
  
</body>

PASO 5: Abra el archivo «app.js» creado en el paso 2 y copie y pegue el siguiente código en él 
 

javascript

var http = require('http');
var fs = require('fs'); // to get data from html file
  
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/html' });
  
    // req.url stores the path in the url
    var url = req.url;
    if (url === "/") {
// fs.readFile looks for the HTML file
// the first parameter is the path to the HTML page
// the second is the call back function
// if no file is found the function gives an error
// if the file is successfully found, the content of the file are contained in pgres
        fs.readFile("head.html", function (err, pgres) {
            if (err)
                res.write("HEAD.HTML NOT FOUND");
            else {
                // The following 3 lines
                // are responsible for sending the html file
                // and ends the response process
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.write(pgres);
                res.end();
            }
        });
    }
    else if (url === "/tailPage") {
        fs.readFile("tail.html", function (err, pgres) {
            if (err)
                res.write("TAIL.HTML NOT FOUND");
            else {
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.write(pgres);
                res.end();
            }
        });
    }
     
}).listen(3000, function () {
    console.log("SERVER STARTED PORT: 3000");
});

javascript

var http = require('http');
var fs = require('fs'); // to get data from html file
  
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/html' });
  
    // req.url stores the path in the url
    var url = req.url;
    if (url === "/") {
// fs.readFile looks for the HTML file
// the first parameter is the path to the HTML page
// the second is the call back function
// if no file is found the function gives an error
// if the file is successfully found, the content of the file are contained in pgres
        fs.readFile("head.html", function (err, pgres) {
            if (err)
                res.write("HEAD.HTML NOT FOUND");
            else {
                // The following 3 lines
                // are responsible for sending the html file
                // and ends the response process
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.write(pgres);
                res.end();
            }
        });
    }
    else if (url === "/tailPage") {
        fs.readFile("tail.html", function (err, pgres) {
            if (err)
                res.write("TAIL.HTML NOT FOUND");
            else {
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.write(pgres);
                res.end();
            }
        });
    }
     
}).listen(3000, function () {
    console.log("SERVER STARTED PORT: 3000");
});

Ahora, el código anterior muestra el archivo «head.html» como la página de inicio que está conectada a «tail.html».
PASO 6: Abra la terminal nuevamente y escriba el siguiente comando para ejecutar el servidor. 
 

node app.js

Para ver su aplicación ejecutándose, escriba «localhost:3000» en su navegador como URL.
Hemos creado con éxito la aplicación de muestra, ahora vamos a implementarla en la web.
Hay muchas plataformas en la nube como AWS, Heroku, Digital Ocean, etc.
 

Pasos para implementar una aplicación de muestra

Para este ejemplo, vamos a usar Heroku ya que es fácil de usar y puede usarlo para probar sus aplicaciones de forma gratuita. Las versiones gratuitas tienen algunas limitaciones, por lo tanto, si desea utilizar el sitio para negocios comerciales, se recomienda obtener un paquete pago. Dado que este es un tutorial, usaremos la versión gratuita.
NOTA: TODOS LOS COMANDOS SE REALIZAN DENTRO DEL DIRECTORIO/CARPETA QUE CONTIENE SU PROYECTO
PASO 1: Vaya a https://www.heroku.com/ y regístrese.
PASO 2: Después de completar el proceso de registro, inicie sesión y vaya a https://dashboard.heroku.com/apps
Antes de continuar, asegúrese de haber instalado la última versión de Git en su PC.
PASO 3: Ir aPrimeros pasos en Heroku con Node.js y descargue Heroku Cli para su sistema.
Puede verificar si Heroku CLI se instaló correctamente o no escribiendo el comando
 

heroku -v

Debe tener un aspecto como este
 

PASO 4: Escriba 
 

heroku login

en la línea de comando
 

Presione cualquier tecla para continuar, se abrirá una nueva pestaña en su navegador que le pedirá que inicie sesión en su cuenta de Heroku
 

Haga clic en Iniciar sesión Abajo
Después de iniciar sesión con éxito, la línea de comando se verá así
 

(Es posible que Heroku no se conecte a Git bash, así que use el Símbolo del sistema o la terminal si la conexión tarda mucho, es decir, si estaba usando git bash)
PASO 5: Ahora, asegúrese de que estamos usando Git en el directorio de nivel superior de nuestra aplicación. Podemos verificar si el directorio tiene Git o no con el comando 
 

git status

Para convertirlo en un directorio git, escriba el comando 
 

git init

Ahora, escribe 
 

git add . 

en línea de comando.
 

(Ignore la advertencia por ahora)
Ahora, debemos confirmar los archivos que hemos agregado a git. Escribe 
 

git commit -m "initial commit"

PASO 6: Crea la aplicación heruko por comando 
 

heroku create

Esto creará un git remoto que está conectado a nuestro repositorio local de git
PASO 7: Escriba 
 

git push heroku master

para implementar la aplicación en el servidor heroku
PASO 8: Después de implementar el 
tipo de  aplicación
 

heroku ps:scale web=1 

para asegurarse de que una instancia de la aplicación se esté ejecutando
PASO 9: escriba 
 

heroku open 

esto abrirá una aplicación en su navegador.
Ahora, es posible que obtenga una pantalla como esta
 

Vaya a la línea de comando y escriba 
 

heroku logs 

para comprobar si hay un error. Ayuda a depurar la aplicación.
 

Dice npm ERR! secuencia de comandos faltante: inicio
Para solucionar este problema, necesitamos configurar una secuencia de comandos de inicio, la secuencia de comandos de inicio le dice al servidor que ejecute “node app.js” después de instalar los paquetes.
PASO 10: Para configurar el script de inicio, abra package.json dentro de la carpeta de ejemplo y escriba ‘“start”: “node app.js” ‘ dentro de la etiqueta “scripts”. 
ver la imagen 
 

(NO OLVIDES LA COMA ‘, ‘)
PASO 11: Escribe el siguiente comando en la línea de comando 
Necesitamos enviar la aplicación a Heroku cada vez que hagamos cambios en ella.
 

git add .
git commit -m "another commit"
git push heroku master
heroku open

PASO 12: Todavía hay un problema. El problema aún no está solucionado. Estamos usando PUERTO: 3000 pero Heroku no. Heroku usa un puerto dinámico, no podemos arreglarlo en 3000. Si queremos que nuestra aplicación funcione en Heroku, debemos agregar la siguiente línea en el archivo app.js .listen(
process.env.PORT || 3000, function(… ));
app.js ahora se verá así
 

javascript

// Write Javascript code here
  
var http = require('http');
var fs = require('fs'); // to get data from html file
  
  
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/html' });
  
    // req.url stores the path in the url
    var url = req.url;
    if (url === "/") {
// fs.readFile looks for the html file
// the first parameter is the path to the html page
// the second is the call back function
// if no file is found the function gives an err
// if the file is successfully found, the content of the file are contained in pgres
        fs.readFile("head.html", function (err, pgres) {
            if (err)
                res.write("HEAD.HTML NOT FOUND");
            else {
                // The following 3 lines
                // are responsible for sending the html file
                // and ends the response process
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.write(pgres);
                res.end();
            }
        });
    }
    else if (url === "/tailPage") {
        fs.readFile("tail.html", function (err, pgres) {
            if (err)
                res.write("TAIL.HTML NOT FOUND");
            else {
                res.writeHead(200, { 'Content-Type': 'text/html' });
                res.write(pgres);
                res.end();
            }
        });
    }
  
}).listen(process.env.PORT || 3000, function () {
    console.log("SERVER STARTED PORT: 3000");
});

PASO 13: Vuelva a escribir
 

git add .
git commit -m "another commit"
git push heroku master
heroku open

Enhorabuena, ha implementado con éxito su primera aplicación web.
NOTA: 
1. Si su aplicación usa MongoDB, tendrá que implementar el servidor MongoDB por separado en alguna otra plataforma en la nube. 
2. Estaba teniendo problemas para conectar git bash a Heroku, por eso cambié a CMD en el medio. Entonces, recomiendo no usar Git Bash.
 

Publicación traducida automáticamente

Artículo escrito por Archaic y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *