我正在开发一个node.js应用程序,该应用程序通过路由提供index.ejs页面。index.js(这是一条路线)
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res) {
res.render('index', { title: 'Express', clicks: req.app.get('clicks')});
});
module.exports = router;
index.ejs文件:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>The HTML5 Herald</title>
<meta name="description" content="The HTML5 Herald">
<meta name="author" content="SitePoint">
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="/stylesheets/style.css">
</head>
<body>
<div class="container">
<h1>
<%=title%>
</h1>
<div class="page">
</div>
</div>
<!-- <template id="click-list-template">
<table class="table striped">
<thead>
<th>
<td>day</td>
<td>hour</td>
<td>minute</td>
<td>count</td>
</th>
</thead>
<tbody>
<% _.each(clicks, function(click){%>
<tr>
<td><%=click.get('day')%></td>
<td><%=click.get('hour')%></td>
<td><%=click.get('minute')%></td>
<td><%=click.get('count')%></td>
</tr>
<%});%>
</tbody>
</table>
</template> -->
<script>
var dash = {};
dash.clicks = <%=clicks%>
</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.6.0/underscore-min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js"></script>
<!-- <script src="/javascripts/index.js"></script> -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</body>
</html>
直到最近,它的运行情况还不错。现在,它一直在抱怨styles.css无法加载,并且'_'是未定义的。但是,我从不同的目录加载了style.css,而不是抱怨的目录,该目录可以更早地工作。现在,无论我对ejs文件进行了什么更改,包括注释掉整个文件。它一直显示完全相同的错误。另外,我尝试过多次重启服务器,但没有任何运气。
将不胜感激。对我来说,似乎是服务器端缓存问题,但不确定如何解决。我用Google搜索,但找不到任何东西,因此将其发布在这里。
提前致谢!
在彻底研究了这个问题之后,我找到了问题所在。我在这里分享它,因此遇到类似问题的其他人可以在更短的时间内解决它。
我的app.js具有以下代码,该代码在错误时会重定向到error.ejs,因此无论我做什么,html都不会更新。error.ejs页面具有指向旧样式的链接。
if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error.ejs', {
message: 'Error:oops something went wrong',
error: err.message
});
});
}
另外,由于我试图同时使用ejs模板和下划线模板,并且它们都使用'<%'和'%>'作为模板代码的开头和结尾括号,导致了该错误。通过应用以下文章中提到的修复程序来修复此问题:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句