Javascript Express server不返回页面|节点+;快车
我正在尝试使用Node/Express和Cheerio构建一个基本的parcer,但当服务器正常运行时,我在浏览器中没有收到任何页面。下面是server.js的代码:Javascript Express server不返回页面|节点+;快车,javascript,node.js,express,cheerio,Javascript,Node.js,Express,Cheerio,我正在尝试使用Node/Express和Cheerio构建一个基本的parcer,但当服务器正常运行时,我在浏览器中没有收到任何页面。下面是server.js的代码: var express = require('express'); var request = require('request'); var cheerio = require('cheerio'); var app = express(); app.engine('.html', require('ejs').__expre
var express = require('express');
var request = require('request');
var cheerio = require('cheerio');
var app = express();
app.engine('.html', require('ejs').__express);
app.engine('html', require('ejs').renderFile);
app.set('views', __dirname + '/views');
app.get('/main', function(req, res) {
url = 'http://tres-bien.com/new-arrivals/';
request(url, function(error, response, html) {
var title, price, image;
var tres_bien = [ { title : 'tres'}, { price : 'bien'} ];
var images = [];
if (!error) {
var $ = cheerio.load(html);
$(".grid-info").each(function() {
var data = $(this);
title = data.children().first().text().replace(/(\r\n|\n|\r|\t)/gm, "");
price = data.children().last().children().text().replace(/(\r\n|\n|\r|\t|\s)/gm, "");
});
$(".dropjaw img").each(function() {
image = this.attr('href');
});
}
});
});// APP GET
app.listen('8081')
exports = module.exports = app;
提前感谢您。您似乎混合了服务器端和客户端代码。您的
app.get
函数是服务器端处理程序,用于处理对/main
的请求。您需要通过res
对象返回一些内容
既然您已经映射了ejs,我假设您是服务器端视图,而这些视图是ejs文件。可以使用以下简单的方法渲染它们:
app.get('/main', function(req, res) {
res.render('main'); // this requires a file named main.ejs
}
您必须将响应发送回客户端。您是否在混合前端/后端?如果您在全球安装了ExpressJS,那么您可以进入一个空文件夹并运行“ExpressExampleApp-e”,这将生成一个示例EJS应用程序,您可以将其与您的示例进行比较,以了解其他人在谈论什么。谢谢!!这确实有帮助,但我现在遇到了另一个错误:ReferenceError:/Users/O/GitHub/node-web-scraper/views/main.ejs:5 3|