这是我的代码:
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
)上看到结果。但是我不知道为什么这个项目不会发生。
答案 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');