Node.js无法在视图目录“ / views”中查找视图“ home”

时间:2019-04-10 10:44:53

标签: node.js express nginx

我是nodejs的新手,但出现以下错误。 Error: Failed to lookup view "home" in views directory "/views" 我正在通过服务文件运行该应用程序。服务文件启动了应用程序,但出现上述错误。但是,当我使用nodejs app.js启动应用程序时,没有出现失败的错误,并且应用程序可以正常工作。

app.js文件

var express = require('express');
var app = express();
var routes = require('./routes');
var path = require('path');
app.use(express.static(path.join(__dirname, 'public')));
app.set('view engine','ejs');
app.get('/starwars/',routes.home);

路由文件。

var moviesJSON = require('../movies.json');
exports.home = function(req,res){
   var movies = moviesJSON.movies;
   res.render('home',
   {
     title:'Star Wars Movies.',
     movies: movies,
     //movies:['Episode 1','Episode 2','Episode 3']
   }
 );
};

我尝试将路由位置更改为../routes,但这给我带来了严重的网关错误。所以我很沮丧。

服务文件

User=webuser
Group=webgroup
ExecStart=/usr/bin/nodejs /home/pi/examples/nodeapp/star_wars_movie_app/app.js

1 个答案:

答案 0 :(得分:0)

我需要将以下行添加到app.js app.set('views', path.join(__dirname, 'views'));