【发布时间】:2018-02-28 19:03:22
【问题描述】:
我正在运行一个简单的服务器
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>
【问题讨论】:
-
你跑
npm i ejs了吗? -
@zero298 是的,我跑了
npm install ejs -
在
/views/的目录中是否有一个名为home.ejs的文件? -
@zero298 是的,我愿意
-
<% include partials/footer %>
标签: javascript node.js ejs cloud9