node.js - 在 Node.js 中未定义引脚
问题描述
在 node.js 和 mongodb 应用程序上工作。我在 node.js 应用程序中遇到了这个问题,如下所示,我还添加了我的index.ejs 文件和pin.js 文件:
ReferenceError: /home/Documents/Build-A-Pinterest-Clone/views/pins/index.ejs:6
4| <div class="container">
5| <div id="pins">
>> 6| <% for(var i = 0; i < pins.length; i++) { %>
7|
8| <div class="" style="margin:20px">
9| <a href="/pins/details/<%= pins[i]._id %>"><img src="<%= pins[i].path %>" style="width: 200px" /></a>
pins is not defined
at eval (/home/Documents/Build-A-Pinterest-Clone/views/pins/index.ejs:11:27)
at index (/home/Documents/Build-A-Pinterest-Clone/node_modules/ejs-mate/node_modules/ejs/lib/ejs.js:682:17)
at tryHandleCache (/home/falguni/Documents/Build-A-Pinterest-Clone/node_modules/ejs-mate/node_modules/ejs/lib/ejs.js:254:36)
at Object.exports.renderFile (/home/Documents/Build-A-Pinterest-Clone/node_modules/ejs-mate/node_modules/ejs/lib/ejs.js:485:10)
at View.renderFile [as engine] (/home/Documents/Build-A-Pinterest-Clone/node_modules/ejs-mate/lib/index.js:227:7)
at View.render (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/view.js:135:8)
at tryRender (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/application.js:640:10)
at Function.render (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/application.js:592:3)
at ServerResponse.render (/home//Documents/Build-A-Pinterest-Clone/node_modules/express/lib/response.js:1012:7)
at /home//Documents/Build-A-Pinterest-Clone/routes/main.js:9:6
at Layer.handle [as handle_request] (/home/falguni/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/router/layer.js:95:5)
at next (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/router/layer.js:95:5)
at /home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/home/Documents/Build-A-Pinterest-Clone/node_modules/express/lib/router/index.js:335:12)
这是我正在处理的代码(index.ejs):
<% layout('layout') %>
<div class="container">
<div id="pins">
<% for(var i = 0; i < pins.length; i++) { %>
<div class="" style="margin:20px">
<a href="/pins/details/<%= pins[i]._id %>"><img src="<%= pins[i].path %>" style="width: 200px" /></a>
<h2><a href="/pins/details/<%= pins[i]._id %>"></a> <%= pins[i].title %></h2>
<p>
Submitted by <%= pins[i].username %>
<a class="btn btn-default" href="/pins/delete/<%= pins[i]._id %>">DELETE</a>
</p>
</div>
<% } %>
</div>
</div>
除此之外,这是主要方法:(pins.js):
var path = require('path');
var Pin = require('../models/pin');
// ../ previous directory
module.exports = function(app) {
app.route('/pins/create')
.get(function(req, res, next) {
res.render('pins/create');
})
.post(function(req, res, next) {
var pin = new Pin();
pin.title = req.body.title;
pin.desc = req.body.desc;
pin.username = req.body.username;
pin.isSave = false;
if(!req.files)
return json('error');
let sampleFile = req.files.sampleFile;
let fileName = Math.random().toString(26).slice(2) + '.jpg';
let path = './public/Files/' + fileName;
pin.path = '/Files/' + fileName;
sampleFile.mv(path, function(err) {
if(err)
return res.status(500).send(err);
})
pin.save(function(err) {
if(err) throw err;
res.redirect('/pins/index');
})
})
app.get('/pins/index', function(req, res, next) {
Pin.find({}, function(err, pins) {
res.render('pins/index', {pins: pins});
})
})
// app.get('/pins/delete/:id', function(req, res, next) {
// Pin.find({_id: req.params.id}.remove()
// .exec(function(err, foundPin){
// res.redirect('/pins/index');
// })
// })
}
我正在处理我的索引文件页面,但突然出现了这个错误。请任何人都可以帮助我。
解决方案
推荐阅读
- python - 使用 python 非本地变量存储递归的输出 VS 直接返回递归
- bot-framework-composer - 如何将文档保存到使用请求文件或附件上传的 blob 存储
- javascript - 如何在 plotly.js 中添加针或刻度盘来测量指示器?
- python - 用 Beautiful Soup 刮取宠物收养网站
- r - Group_by 并汇总并保留初始顺序而不安排 R
- python-3.x - 如果用户不属于任何 Django 组,则隐藏按钮
- javascript - 如何知道情节完全呈现?
- php - 使用 PHP 连接联系表单时遇到困难
- loops - 为什么以下 c 编程的输出是“一”,谁能解释一下?
- terraform - 使用 Terraform 创建 ALb 时如何解决未找到证书的问题?