Javascript Express server不返回页面|节点+;快车

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

我正在尝试使用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').__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|