Node.js NodeJS+;Express在错误目录中查找视图

Node.js NodeJS+;Express在错误目录中查找视图,node.js,express,handlebars.js,Node.js,Express,Handlebars.js,我刚刚完成了一个NodeJS项目,但是视图的设置有问题。以下是我的项目结构: . ├── app.js ├── bin/ ├── migrations/ ├── models/ ├── node_modules/ ├── public/ ├── routes.js ├── settings.js ├── storage/ ├── views/ └── www 下面是我如何设置应用程序的视图(在app.js中) 然后,在www文件中,我需要app.js(它导出app对象),其中设置了一些其他内容

我刚刚完成了一个NodeJS项目,但是视图的设置有问题。以下是我的项目结构:

.
├── app.js
├── bin/
├── migrations/
├── models/
├── node_modules/
├── public/
├── routes.js
├── settings.js
├── storage/
├── views/
└── www
下面是我如何设置应用程序的视图(在app.js中)


然后,在
www
文件中,我需要
app.js
(它导出
app
对象),其中设置了一些其他内容。问题是我无法运行
pm2start www
,因为它开始在错误的路径中查找视图。它不是查看
/var/www/project/views
,而是查看
/var/www/views
。现在我手动进入项目根目录并运行
节点www
,这是正确设置视图路径的唯一方法。如何停止这种疯狂行为?

您是否尝试过将路径设置为类似于
app.set('views',u dirname+“/views”)
var express = require('express');
var exphbs = require("express-handlebars");
var path = require('path');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, "views");
app.engine("handlebars", exphbs({defaultLayout: "main"}));
app.set("view engine", "handlebars");