Approfondimento: esplorazione dell'app utilizzata in questa procedura guidata - AWS OpsWorks

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Approfondimento: esplorazione dell'app utilizzata in questa procedura guidata

Importante

Il AWS OpsWorks Stacks servizio ha raggiunto la fine del ciclo di vita il 26 maggio 2024 ed è stato disattivato sia per i clienti nuovi che per quelli esistenti. Consigliamo vivamente ai clienti di migrare i propri carichi di lavoro verso altre soluzioni il prima possibile. Se hai domande sulla migrazione, contatta il AWS Support Team su AWS re:post o tramite Premium AWS Support.

Questo argomento descrive l'app che AWS OpsWorks Stacks distribuisce all'istanza per questa procedura dettagliata.

Per visualizzare il codice sorgente dell'app, estrai il contenuto del opsworks-windows-demo-nodejs GitHub repository in una directory vuota sulla workstation locale. Puoi anche effettuare l'accesso all'istanza in cui hai distribuito il libro di ricette e quindi esplorare i contenuti della directory /srv/mylinuxdemoapp.

Il file index.js contiene il codice più significativo dell'app:

var express = require('express'); var app = express(); var path = require('path'); var os = require('os'); var bodyParser = require('body-parser'); var fs = require('fs'); var add_comment = function(comment) { var comments = get_comments(); comments.push({"date": new Date(), "text": comment}); fs.writeFileSync('./comments.json', JSON.stringify(comments)); }; var get_comments = function() { var comments; if (fs.existsSync('./comments.json')) { comments = fs.readFileSync('./comments.json'); comments = JSON.parse(comments); } else { comments = []; } return comments; }; app.use(function log (req, res, next) { console.log([req.method, req.url].join(' ')); next(); }); app.use(express.static('public')); app.use(bodyParser.urlencoded({ extended: false })) app.set('view engine', 'jade'); app.get('/', function(req, res) { var comments = get_comments(); res.render("index", { agent: req.headers['user-agent'], hostname: os.hostname(), nodeversion: process.version, time: new Date(), admin: (process.env.APP_ADMIN_EMAIL || "admin@unconfigured-value.com" ), comments: get_comments() }); }); app.post('/', function(req, res) { var comment = req.body.comment; if (comment) { add_comment(comment); console.log("Got comment: " + comment); } res.redirect("/#form-section"); }); var server = app.listen(process.env.PORT || 3000, function() { console.log('Listening on %s', process.env.PORT); });

Le operazioni eseguite dal file sono descritte di seguito:

  • require carica i moduli contenenti parte del codice dipendente necessario per la corretta esecuzione di questa app Web.

  • Le funzioni add_comment e get_comments leggono e scrivono le informazioni nel file comments.json.

  • Per ulteriori informazioni su app.get, app.listen, app.post, app.set e app.use, consulta la documentazione di riferimento relativa all'API Express.

Per ulteriori informazioni su come creare l'app e definire il relativo pacchetto per la distribuzione, consulta Origine dell'applicazione.