Node.js,Express ejs查看错误

时间:2018-03-24 08:43:43

标签: node.js express ejs

EJS错误:无法查找视图" admin_landing2"在views目录" / Users / aryanarora / Desktop / asn3 / views"。 在尝试调用localhost / 8080 / yolo时 即使我切换到hbs,我也收到同样的错误。 (我已经安装了两个包)

var express = require("express");
var app = express();
var port = process.env.PORT || 8080;
var path = require('path');
var bodyParser = require('body-parser')
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";
var fs = require('fs');
// const hbs = require('hbs');
// hbs.registerPartials(__dirname + './views'); 

// app.set('view engine','hbs');


// Require static assets from public folder
app.use(express.static(path.join(__dirname, 'public')));

// Set 'views' directory for any views 
// being rendered res.render()
app.set('views', path.join(__dirname, 'views'));

// Set view engine as EJS
app.engine('html', require('ejs').renderFile);
app.set('view engine', 'ejs');


var users = [];

//app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));


app.use('/', function(req,res,next){
  console.log(req.method, 'request:', req.url);

  next();
});


app.locals.yolo = require('./Data/courses.json');

//Request i am trying to get//

app.get('/yolo',function(req,res){
  //res.sendFile(path.join(__dirname + '/admin_landing2.hbs'));
  res.render('admin_landing2', {var1 : "pehla" , var2 : "dusra"});
});

app.get('/login', function(req,res){

  res.sendFile(path.join(__dirname + '/admin_login.html'));
  var filepath = './admin_login.html';
  console.log(filepath);
});

1 个答案:

答案 0 :(得分:0)

问题是您将views目录设置为错误的位置。

执行

app.set('views', __dirname)

而不是

app.set('views', path.join(__dirname, 'views'))