1

Ich versuche, meinen einfacher Knoten js Web-App auf AWS EB Nachschlag zu setzen, aber es scheint, wie es ein Problem mit dem Pfad hat. Ich Fenster auf meinem Rechner laufen und es funktioniert, aber wenn ich es auf EB bereitstellen es gibt mir die folgende FehlerKnoten js Web-App auf AWS fehlgeschlagen fehlgeschlagen Nachschlag-Ansicht „Seiten/home“ in Aussicht Verzeichnis „/ var/app/views“

Error: Failed to lookup view "pages/home" in views directory "/var/app/views" 
    at EventEmitter.render (/var/app/current/node_modules/express/lib/application.js:579:17) 
    at ServerResponse.render (/var/app/current/node_modules/express/lib/response.js:961:7) 
    at null.<anonymous> (/var/app/current/controller/app.js:113:14) 
    at tryCatcher (/var/app/current/node_modules/bluebird/js/release/util.js:16:23) 
    at Promise.successAdapter [as _fulfillmentHandler0] (/var/app/current/node_modules/bluebird/js/release/nodeify.js:23:30) 
    at Promise._settlePromise (/var/app/current/node_modules/bluebird/js/release/promise.js:557:21) 
    at Promise._settlePromise0 (/var/app/current/node_modules/bluebird/js/release/promise.js:605:10) 
    at Promise._settlePromises (/var/app/current/node_modules/bluebird/js/release/promise.js:684:18) 
    at Async._drainQueue (/var/app/current/node_modules/bluebird/js/release/async.js:126:16) 
    at Async._drainQueues (/var/app/current/node_modules/bluebird/js/release/async.js:136:10) 
    at Immediate.Async.drainQueues [as _onImmediate] (/var/app/current/node_modules/bluebird/js/release/async.js:16:14) 
    at processImmediate [as _immediateCallback] (timers.js:383:17) 

meinen Code für Pfad

var path = require('path'); 
var app = express(); 
app.use(express.static(path.resolve('../public'))); 

app.set('views',path.resolve('../views')); 
app.set('view engine', 'ejs'); 
+0

Haben Sie Code, der zeigt, wie Sie die Ansichten laden möchten? – Clarkie

+0

Code hinzugefügt. danke – Johji

Antwort

0

Ich nehme an, Sie verwenden das Pfad Modul zum Auflösen von Verzeichnis- und Dateinamen (um Probleme mit den Unterschieden zwischen Windows- und Linux-Dateisystemen zu vermeiden).

Es könnte eine Dateiberechtigungen oder Eigentumsrechtsproblem sein. Überprüfen Sie, ob der Benutzer, unter dem der Knotenprozess ausgeführt wird, Leseberechtigungen für die relevanten Verzeichnisse und Dateien besitzt.

Es könnte auch ein Pfadauflösungsproblem sein. Es sieht aus wie Ihre Anwendung in /var/app/Strom/ ist, aber Sie versuchen, Dateien in /var/app/views/ zu finden. Sollte funktionieren, wenn Ihre App strukturiert ist, aber es wäre problematisch, wenn Sie nach Dateien in /var/app/current/views/ suchen.

+0

Ich habe einen Code zu meiner Frage hinzugefügt. Ich glaube nicht, dass es etwas mit der Erlaubnis zu tun hat, weil ich es in AWS EB implementiere. Ich laufe auf Windows und es funktioniert einwandfrei. – Johji

Verwandte Themen