如何在浏览器上运行node.js项目?

时间:2018-06-22 09:54:18

标签: javascript node.js reactjs

这是我的代码:

var url = "http://quotes.toscrape.com/";

var express = require('express');
var request = require('request');

request(url, function (error, response, body) {
    console.log('error:', error); // Print the error if one occurred
    console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
    var re = new RegExp('<title>(.*)</title>');
    var r  = body.match(re);
    if (r)
        console.log(r[1]);
});

当我执行以下命令时:node index.js我还将在命令行环境中看到结果(该网站的标题)。但我想在浏览器中查看结果。我该怎么办?

请注意,几个月前,我正在做一个React项目,如果我没记错的话,我可以通过执行localhost:3000在浏览器(npm start)上看到结果。但是我不知道为什么这个项目不会发生。

4 个答案:

答案 0 :(得分:1)

您可以使用socket.io

如果要运行浏览器console.log(r[1]);,请使用socket.emit('log', r[1]);。 在浏览器中(使用html文件的javascript):

socket.on('log', ...data=>{
    console.log(...data);
});

但是您应该阅读https://socket.io/进行配置和理解。

答案 1 :(得分:1)

以下是使用express创建应用的示例

const express = require('express') 
const app = express() 

app.get('/', function (req, res) { 
res.send('Hello World!') 
}) 

app.listen(3000, function () { 
console.log('Example app listening on port 3000!') 
})

request也仅用于进行http调用,而不用于创建任何类型的服务器

答案 2 :(得分:1)

您可以使用快递服务器将响应发送到浏览器。

var url = "http://quotes.toscrape.com/";

var express = require('express');
var request = require('request');
var app = express();

app.get('/your-route', function(req, res) {
    request(url, function (error, response, body) {
        console.log('error:', error); // Print the error if one occurred
        console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received
        var re = new RegExp('<title>(.*)</title>');
        var r  = body.match(re);
        if (r) {
            res.write(r[1]);
            res.end();
        }
    });
})

app.listen(3000);

答案 3 :(得分:0)

要从浏览器访问任何内容,您需要创建一个快速应用程序并在其上调用listen()

const express = require('express')

const app = express();

app.get('/', function (request, response) {
  // Process request and form a response
  response.send(/*response*/);
});

app.listen(3000, () => console.log('Listening on port 3000');