我正在运行一个简单的服务器
var express = require('express') var app = express() app.set('view engine', 'ejs'); app.use(express.static('public')) // home page request handler app.get('/', function (req, res) { res.render('home') }) // initializes request listener app.listen(process.env.PORT, process.env.IP, function(){ console.log("Server is listening"); })
当我向主页发出GET请求时,运行时将引发以下错误
Error: Could not find include include file. at getIncludePath (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:152:13) at includeSource (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:276:17) at /home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:629:26 at Array.forEach (native) at Object.generateSource (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:605:15) at Object.compile (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:509:12) at Object.compile (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:358:16) at handleCache (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:201:18) at tryHandleCache (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:223:14) at View.exports.renderFile [as engine] (/home/ubuntu/workspace/node_modules/ejs/lib/ejs.js:437:10)
我不明白这个错误。有任何想法吗?我正在Cloud9中工作。
我的目录结构是
v1.1 +---views | +---- home.ejs | +---- partials | +------ header.ejs | +------ footer.ejs | +----app.js
home.ejs
<% include header %> <h1>welcome</h1> <% include footer %>
header.ejs
<DOCTYPE! html> <html> <head> <title> <link rel="stylesheet" hreff="app.css"> </title> </head> <body>
footer.ejs
</body </html>
包含路径是相对的,您需要更新路径以包含“ partials”子文件夹,例如
<% include partials/header %> <h1>welcome</h1> <% include partials/footer %>
查看文档