我在我的Twitter卡的header.ejs文件中有以下代码。
<head>
...
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@DrDenverHBubble">
<meta name="twitter:creator" content="@DrDenverHBubble">
<meta name="twitter:title" content="<%= blog.title %>"></meta>
<meta name="twitter:image" content="<%= blog.image %>"></meta>
</head>
...
在我的show.ejs页面上,我的网页显示正确,Twitter卡也在Twitter上正确显示。
但是,在我的index.ejs页面上,我收到以下代码
的错误ReferenceError: /home/ubuntu/workspace/drdenver/views/blogs/index.ejs:1
>> 1| <% include ../partials/header %>
2|
3|
4|
/home/ubuntu/workspace/drdenver/views/partials/header.ejs:16
14| <meta name="twitter:site" content="@DrDenverHBubble">
15| <meta name="twitter:creator" content="@DrDenverHBubble">
>> 16| <meta name="twitter:title" content="<%= blog.title %>"></meta>
17| <meta name="twitter:image" content="<%= blog.image %>"></meta>
18| </head>
19| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
blog is not defined
这是index.ejs代码
<% include ../partials/header %>
<div id="blog-index" class="container">
<div class="row" style="display: flex; flex-wrap:wrap;">
<div class="col-lg-12">
<% if(noMatch !== null) { %>
<h4> <%= noMatch %> </h4>
<% } %>
</div>
<% blogs.forEach(function(blog){ %>
<div class="col-lg-12">
<div class="ui medium rounded items">
<div class="item">
<div class="image">
<img src="<%= blog.image %>">
</div>
<div class="content">
<a class="header" href="/blogs/<%= blog._id %>"><%=blog.title%></a>
<div class="meta">
<span><%= blog.created.toDateString() %></span>
</div>
<div class="extra">
<% if(blog.body && blog.body.length > 0) { %>
<p><%- blog.body.substring(0, 120) %> ... </p>
<% } %>
<a href="/blogs/<%= blog._id %>">Read More</a>
</div>
</div>
</div>
</div>
</div>
<% }) %>
</div>
...
我是一名新编码员,但我知道我没有将任何内容传递给导致我的错误的变量博客。我的解决方案是在显示页面上删除&lt;%include ../partials/header%>并使用推特卡代码插入标题代码,并在header.ejs页面中删除Twitter卡代码。是否有更干的编码方式?
由于
答案 0 :(得分:0)
您的问题是,您要包含需要博客数据的header.ejs文件。但是你没有将博客数据传递给它。将您的包含行更改为以下
<%- include('../partials/header', {blog: blog}); %>