[英]Error: ENOENT: no such file or directory, open './views/s.ejs' Nodejs Express
[英]Error: ENOENT: no such file or directory, open 'D:\nodejs\loginnew\views\layouts\layout.handlebars this error i found
我在views文件夹中有一个名为layout的文件夹,但是当我运行代码时出现错误。
错误:ENOENT:没有这样的文件或目录,请打开:\\ nodejs \\ loginnew \\ views \\ layouts \\ layout.handlebars'
var routes=require('./routes/index');
var users=require('./routes/users');
var app=express();
app.set('views',path.join(__dirname,'views'));
app.engine('handlebars',exphbs({defaultLayout:'layout'}));
app.set('view engine','handlebars');
app.use(bobyParser.json());
app.use(bobyParser.urlencoded({extended:false}));
app.use(cookieParser());
app.use(express.static(path.join(__dirname,'public')));
console.log(path.join(__dirname,'public'));
app.use(session({
secret:'secret',
saveUninitialized:true,
resave:true,
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(expressValidator({
errorFormatter:function(param,msg,value){
var namespace =param.split('.')
,root=namespace.shift()
,formParam=root;
while(namespace.length){
formParam+='['+namespace.shift()+']';
}
return{
param : formParam,
msg:msg,
value:value
};
}
}));
app.use(flash());
app.use(function(req,res,next){
res.locals.sussess_msg=req.flash('sucess_msg');
res.locals.error_msg=req.flash('error_msg');
res.locals.error=req.flash('error');
next();
});
app.use('/',routes);
app.use('/users',users);
app.set('port', process.env.PORT || 3000);
app.listen(app.get('port'),function(){
console.log('server start on port '+app.get('port'));
});
看到这里是我的文件夹:
如果您不使用任何布局,请尝试通过将defaultLayout和layoutDir设置为空白/空格来如下初始化引擎。
app.engine(
'hbs',
expressHbs({
extname: "hbs",
defaultLayout: "",//"main-layout",
layoutsDir: "",//"views/layouts/"
})
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.