En esta segunda parte vamos a indagar mas acerca de cómo podemos implementar Node.js con Heroku, para que así puedas realizar tu propia aplicación y llevar a cabo tus proyectos usando estas poderosas herramientas. Si te perdiste la primera parte, checa esto: ¿Cómo implementar Node.js con Heroku o Docker? Parte 1
Anwendungsabhängigkeiten deklarieren
Heroku erkennt eine Anwendung wie Node.js an der Existenz einer aufgerufenen Datei package.json beim WurzelverzeichnisUn directorio raíz (en inglés root directory), es el directorio del nivel más alto de una jerarquía. Además se conoce como documento raíz. Desde esta raíz todos los demás directorios se ramifican. En el caso de las webs, los archivos más necesarios, como las páginas HTML, se encuentran en el directorio raíz del servidor desde el que se solicitará su visualización mediante del navegador. Los directorios raíz además se usan Plus.
Für Ihre eigenen Anwendungen können Sie eine erstellen, indem Sie den folgenden Befehl ausführen: npm init --yes.
Die von Ihnen bereitgestellte Demoanwendung verfügt bereits über eine package.jsonund es sieht so aus:
{
"name": "node-js-getting-started",
"version": "0.3.0",
...
"engines": {
"node": "8.11.1"
},
"dependencies": {
"ejs": "^2.5.6",
"express": "^4.15.2"
},
...
}
Die Datei package.json bestimmt sowohl die Version von Node.js Dies wird verwendet, um Ihre Anwendung auf Heroku auszuführen, z. B. die Abhängigkeiten, die mit Ihrer Anwendung installiert werden müssen.
Wenn eine Anwendung bereitgestellt wird, liest Heroku diese Datei und installiert die entsprechende Knotenversion zusammen mit den Abhängigkeiten mithilfe des Befehls npm installieren.
Führen Sie diesen Befehl in Ihrem lokalen Verzeichnis aus, um die Abhängigkeiten zu installieren. Dieser Befehl wird an Ihr System gesendet, um die Anwendung lokal auszuführen:
$ npm install added 132 packages in 3.368s
Sobald die Abhängigkeiten installiert sind, können Sie Ihre Anwendung lokal ausführen.
Lokale Ausführung der Anwendung
Jetzt müssen Sie Ihre Anwendung lokal mit dem folgenden Befehl starten lokales Heroku, das als Teil der Heroku-CLI installiert wurde:
$ heroku local web [OKAY] Loaded ENV .env File as KEY=VALUE Format 1:23:15 PM web.1 | Node app is running on port 5000
Wie Heroku, lokales Heroku Untersuchen Sie die Procfile, um festzustellen, was ausgeführt werden soll.
Dann öffnen Sie die Adresse httpEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Plus://localhost:5000 in Ihnen BrowserUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Plus web de preferencia. Deberías ver tu aplicación ejecutándose de forma local.
Wenn Sie verhindern möchten, dass die Anwendung lokal ausgeführt wird, drücken Sie in der CLI Strg + C. ausgehen.
Nehmen Sie lokale Änderungen vor
In diesem Schritt lernen Sie leicht, wie Sie eine lokale Änderung über Heroku an Ihre Anwendung weitergeben. Als Beispiel ändern Sie die Anwendung, um eine zusätzliche Abhängigkeit hinzuzufügen, und den Code, um sie zu verwenden.
Beginnen Sie mit dem Hinzufügen einer Abhängigkeit für coole ASCII-Gesichter beim package.json. Führen Sie dazu den folgenden Befehl aus:
$ npm install cool-ascii-faces + [email protected] added 9 packages in 2.027s
Sie müssen ändern IndexUn index o índice es generalmente un directorio en un orden específico que se usa con fines de orientación. En términos de motores de búsqueda, un índice es la lista de páginas web que es emitido por el motor de búsqueda en respuesta a una solicitud de búsqueda del usuario. Información general La lista que se muestra posteriormente de introducir una solicitud de búsqueda específica se llama SERPs (Search Engine Plus.js Damit benötigen Sie dieses Modul beim Start. Außerdem wird ein neuer Pfad (/ cool) hinzugefügt, der ihn verwendet. Ihr endgültiger Code sollte folgendermaßen aussehen:
const cool = require('cool-ascii-faces')
const express = require('express')
const path = require('path')
const PORT = process.env.PORT || 5000
express()
.use(express.static(path.join(__dirname, 'public')))
.set('views', path.join(__dirname, 'views'))
.set('view engine', 'ejs')
.get('/', (req, res) => res.render('pages/index'))
.get('/cool', (req, res) => res.send(cool()))
.listen(PORT, () => console.log(`Listening on ${ PORT }`))
Versuchen Sie es jetzt vor Ort:
$ npm install $ heroku local
Besuchen Sie Ihre Bewerbung unter http://localhost:5000/coolsollten Sie in jedem Update hübsche Gesichter sehen: (⚆ _ ⚆). 🤗
Jetzt bereitstellen. Fast alle Bereitstellungen auf Heroku folgen demselben Muster. Fügen Sie zunächst die geänderten Dateien zum lokalen Git-Repository hinzu:
$ git add .
Übertragen Sie nun die Änderungen in das Repository:
$ git commit -m "Add cool face API"
Stellen Sie jetzt wie zuvor bereit:
$ git push heroku master
Überprüfen Sie abschließend, ob alles funktioniert:
$ heroku open cool
Du solltest endlich ein anderes Gesicht sehen. 😉
Proviantzusätze
Add-Ons sind Cloud-Dienste von Drittanbietern, die zusätzliche sofort einsatzbereite Dienste für Ihre Anwendung bereitstellen, von der Persistenz über die Protokollierung, Überwachung bis hin zu vielem mehr.
Por defecto, Heroku almacena 1500 líneas de registros de tu aplicación. Sin embargo, hace que el flujo de registro completo esté disponible como un servicio, y varios proveedores adicionales han escrito servicios de registro que proporcionan cosas como la persistencia de registros, búsqueda y alertas por correo electrónico y SMS¿Qué es SMS o Short Message Service?Servicio que permite el intercambio de mensajes de texto breves, de no más de 160 caracteres, entre terminales de telefonía teléfono celular, fija y otros dispositivos (su envío, por ejemplo, puede realizarse además mediante de algunas plataformas de Internet). Consiste en un sistema ampliamente consolidado, fundamentalmente entre usuarios jóvenes, quienes han desarrollado inclusive un lenguaje propio para su manejo.Acrónimo o abreviatura:SMS: Short Message Service Plus.
In diesem Schritt stellen Sie eines dieser Registrierungs-Plugins bereit, Papertrail.
Dies ist der Code für die Bereitstellung des Plugins für die Papertrail-Registrierung:
$ heroku addons:create papertrail Adding papertrail on sharp-rain-871... done, v4 (free) Welcome to Papertrail. Questions and ideas are welcome ([email protected]). Happy logging! Use `heroku addons:docs papertrail` to view documentation.
Um Missbrauch zu verhindern, muss für die Bereitstellung eines Plugins eine Kontobestätigung durchgeführt werden. Wenn Ihr Konto nicht verifiziert wurde, werden Sie aufgefordert, die Verifizierungssite zu besuchen.
Jetzt ist das Plugin für Ihre Anwendung implementiert und konfiguriert. Sie können eine Liste von Plugins für Ihre Anwendung wie folgt erstellen:
$ heroku addons
Para ver este complemento en acción, visita la UrlEl URL (Localizador Uniforme de Recursos), es una dirección definida que apunta a la posición de un archivo en un servidor y lo recupera. Las URL se introducen en un navegador web para ingresar a documentos en la web o se incrustan como hipervínculos dentro de un documento. Se puede usar un Permalink para que una URL esté disponible de forma permanente. Componentes de una URL • prefijo de protocolo Plus de Heroku de tu aplicación unas cuantas veces. Cada visita generará más mensajes de registro, que ahora deberían ser enviados al complemento del Papertrail. Visita la consola del Papertrail para ver los mensajes de registro, este es el código:
$ heroku addons:open papertrail
Ihr Browser öffnet eine Papertrail-Webkonsole, in der die neuesten Protokollereignisse angezeigt werden. Über die Benutzeroberfläche können Sie Warnungen suchen und konfigurieren:

Konsole starten
Um eine echte Vorstellung davon zu bekommen, wie Powerbanks funktionieren, können Sie eine weitere eindeutige Powerbank erstellen und den Befehl ausführen Bash, die eine Hülle auf dieser Power Bank öffnet.
Dort können Sie dann Befehle ausführen. Jede Powerbank verfügt über einen eigenen kurzlebigen Dateibereich, der mit ihrer Anwendung und ihren Abhängigkeiten gefüllt ist. Sobald der Befehl ausgeführt wurde (in diesem Fall Bash), wird die Powerbank entfernt.
$ heroku run bash Running 'bash' attached to terminal... up, run.3052 ~ $ ls Procfile README.md composer.json composer.lock vendor views web ~ $ exit exit
Wenn Sie eine Fehlermeldung erhalten, Fehler beim Verbinden mit dem ProzessMöglicherweise müssen Sie Ihre Firewall konfigurieren.
Vergiss nicht zu schreiben Ausfahrt um aus der Hülle herauszukommen und die Energiebank zu beenden.
Definieren Sie Konfigurationsvariablen
Mit Heroku können Sie die Konfiguration auslagern und Daten wie Verschlüsselungsschlüssel oder externe Ressourcenadressen in Konfigurationsvariablen speichern.
Zur Laufzeit werden Konfigurationsvariablen als Umgebungsvariablen für die Anwendung verfügbar gemacht. Zum Beispiel ändern index.js damit Sie einen neuen Pfad eingeben, / mal, die eine Aktion basierend auf dem Wert der Umgebungsvariablen wiederholt MAL:
app.get('/times', (req, res) => {
let result = ''
const times = process.env.TIMES || 5
for (i = 0; i < times; i++) {
result += i + ' '
}
res.send(result)
})
lokales Heroku configurará automáticamente el entorno basado en el InhaltEl contenido puede ser muy difícil de definir con precisión. Es una definición que se refiere a las declaraciones contenidas en un documento o publicación de cualquier tipo y puede incluir las tecnologías de la información y la comunicación. Esto cubre todos los tipos de medios como imágenes y texto. A parte de esto, en el campo de la optimización de motores de búsqueda, los términos duplicar contenido, contenido único, Plus aus der Datei .env in Ihrem lokalen Verzeichnis. Im obersten Verzeichnis Ihres Projekts ist bereits eine Datei vorhanden .env mit folgenden Inhalten:
TIMES=2
Wenn Sie die Anwendung mit ausführen lokales HerokuSie werden sehen, dass jedes Mal zwei Zahlen generiert werden.
Führen Sie Folgendes aus, um die Konfigurationsvariable auf Heroku zu konfigurieren:
heroku config:set TIMES=2
Dann sehen Sie die Konfigurationsvariablen, die mit heroku config konfiguriert wurden:
$ heroku config == sharp-rain-871 Config Vars PAPERTRAIL_API_TOKEN: erdKhPeeeehIcdfY7ne TIMES: 2
Stellen Sie Ihre geänderte Anwendung auf Heroku bereit und besuchen Sie sie, indem Sie sie ausführen Heroku offene Zeiten.
Datenbank erstellen
El mercado de complementos tiene una gran cantidad de almacenes de datos, desde los proveedores de Redis y MongoDB hasta Postgres y MySQLConcepto de MySQL¿Qué es el programa MySQL?MySQL es un sistema de administración de bases de datos que tiene una doble licencia. Por una parte es de código abierto, pero por otra, tiene una versión comercial gestionada por la compañía Oracle. En este momento, es la base de datos de código abierto más famosa y utilizada en el mundo entero.Como él, podemos hallar otras como la propia Oracle o Microsoft SQL Plus. En este paso, agregará una base de datos de desarrollo gratuita de Heroku Postgres Starter Tier a su aplicación.
Fügen Sie die Datenbank hinzu:
$ heroku addons:create heroku-postgresql:hobby-dev Adding heroku-postgresql:hobby-dev... done, v3 (free)
Dadurch wird eine Datenbank erstellt und eine Umgebungsvariable DATABASE_URL festgelegt (Sie können dies überprüfen, indem Sie den Befehl ausführen Heroku-Konfiguration).
Verwenden Sie den Befehl npm um das Modul zu installieren pg zu Ihren Abhängigkeiten:
$ npm install pg + [email protected] added 14 packages in 2.108s
"dependencies": {
"cool-ascii-faces": "^1.3.4",
"ejs": "^2.5.6",
"express": "^4.15.2",
"pg": "^7.4.3"
},
Bearbeiten Sie nun Ihre Datei index.js Verwenden Sie dieses Modul, um eine Verbindung zu der in Ihrer Umgebungsvariablen angegebenen Datenbank herzustellen DATABASE_URL. Fügen Sie dies oben hinzu:
const { Pool } = require('pg');
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
ssl: true
});
Fügen Sie nun eine weitere Route hinzu und fügen Sie Folgendes hinzu: / db kurz nach dem Bestehenden .erhalten ('/',…) wie im Beispiel gezeigt:
.get('/db', async (req, res) => {
try {
const client = await pool.connect()
const result = await client.query('SELECT * FROM test_table');
const results = { 'results': (result) ? result.rows : null};
res.render('pages/db', results );
client.release();
} catch (err) {
console.error(err);
res.send("Error " + err);
}
})
Dies stellt sicher, dass beim Zugriff auf Ihre Anwendung über den Pfad / dbwerden alle Zeilen in der Tabelle zurückgegeben test_table.
Stellen Sie dies auf Heroku bereit. Wenn Sie zugreifen / dberhalten Sie eine Error da es keine Tabelle in der Datenbank gibt. Angenommen, Sie haben Postgres lokal installiert, verwenden Sie den Befehl heroku pg: psql Um eine Verbindung zur entfernten Datenbank herzustellen, erstellen Sie eine Tabelle und fügen Sie eine Zeile ein:
$ heroku pg:psql psql (9.5.2, server 9.6.2) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. => create table test_table (id integer, name text); CREATE TABLE => insert into test_table values (1, 'hello database'); INSERT 0 1 => q
Herzlichen Glückwunsch zum Abschluss dieser Lektion! 🏅🏆🥇





