javascript – Nodejs / Express:错误:无法在views目录中查找视图“错误”

我将nodejs模板引擎切换到ejs(来自jade).当我用我的ejs模板运行我的app.js时,我收到一系列“在视图中查找错误错误”日志.

其中一些包括

GET /css/bootstrap.min.css 500 12.588 ms - 1390
Error: Failed to lookup view "error" in views directory
...
GET /css/clean-blog.min.css
Error: Failed to lookup view "error" in views directory
...
GET /js/bootstrap.min.js
Error: Failed to lookup view "error" in views directory
...
GET /js/jquery.js
Error: Failed to lookup view "error" in views directory

事实上,许多这些依赖项都包含在模板本身中(通过脚本标记包含在内).什么是让它们在快递中工作的适当位置?似乎表达最终不应该在views文件夹中查找这些(因为它们不是视图).

解决方法

确保您的Express App具有此设置,对于当前布局,您听起来就像这样.
// 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','html');

将res.render()呈现的视图放置在应用程序顶层的“Views”目录中是很正常的.快速生成器实际上使用该视图设置.您可以通过修改以下行来更改它

// replace with the directory path below ./
app.set('views','views'));

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...