Im pm2 mit meinem NodeJS Mikrodienste und express-handlebars zu handhaben, die Ansichten zu handhaben:Wie verhindert man, dass PM2 das aktuelle Verzeichnis ändert?
var hbs = exphbs.create({
defaultLayout: 'main',
helpers: {
ifeq: function(a, b, options) {
if (a === b) {
return options.fn(this);
}
return options.inverse(this);
},
toJSON : function(object) {
return JSON.stringify(object);
}
}
});
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
die App lunching direkt (Knoten app.js) funktioniert super. Aber wenn ich das Mittagessen es PM2 mit (PM2 app.js Start) i erhalten:
Error: Failed to lookup view "home" in views directory "/root/views"
Wenn PM2 aktuellen Arbeitsverzeichnis ändern lunching zu/root/und da meinen App in nicht da bekam ich einen Fehler von Lenkern versuchen um das Sichtenverzeichnis zu öffnen (welches sich im App-Verzeichnis befindet).
Gibt es eine Möglichkeit, dies zu beheben, indem Sie pm2 das aktuelle Arbeitsverzeichnis mitteilen oder indem Sie der express-lenker-Bibliothek das komplette Verzeichnis mitteilen, anstatt ein relatives zu verwenden?
Dies scheint das Problem zu beheben, aber jetzt im bekommen: Fehler: ENOENT: keine solche Datei oder das Verzeichnis, offen ‚/ root/Ansichten/Layouts /main.handlears ' Ich versuchte app.set (' Layouts ', __dirname +'/Ansichten/Layouts '); aber nichts, vielleicht ist der Parameter nicht Layouts? – DomingoSL
Ich kann Ihnen nicht wirklich mit Ihren Besonderheiten helfen. Fügen Sie einige Konsolenprotokolle hinzu, um zu sehen, welche Pfade gesetzt werden und ob sie mit Ihren Erwartungen übereinstimmen – akaphenom