Запуск модуля http в маршруте express - NodeJS - PullRequest
0 голосов
/ 20 июня 2020

Я хочу отобразить текст HTML в моем маршруте express. Я знаю, что в одном из вариантов используется модуль npm -needle, но я не был уверен, есть ли у нас какой-либо способ использовать npm - express и npm -http в пределах одного и того же определенного маршрута.

Я хочу что-то вроде:

var http = require("http");
var express = require("express");
var app = express();

app.get("/", function (req, res) {
  var params = req.params;
  var url = req.query["url"];
  let handleRequest = (request, response) => {
    response.writeHead(200, {
      "Content-Type": "text/plain",
    });
    response.write("Hi There! " + url);
    response.end();
  };
});
app.listen(5000);
//http.createServer(handleRequest).listen(8000); ---> not using this in the code

Возможно ли что-то в этом роде? Спасибо!

Ответы [ 2 ]

1 голос
/ 20 июня 2020

Я не понимаю, почему у вас есть эта функция handleRequest внутри вашего маршрута, поскольку вы можете использовать req и res внутри этой функции внутри своего маршрута.

Если вы хотите доставить html из вашего маршрута, вы можете отправить обратно файл html, например:

const path = require('path');

app.get("/", function (req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
});

, или вы можете отправить обратно html -тэги из вашего маршрута следующим образом:

app.get("/", function (req, res) {
    res.send('<h1>Text</h1>')
});

Конечно, вы можете работать со строками шаблонов et c. для отображения ваших данных.

0 голосов
/ 20 июня 2020

Легко сделать это запрос npm пакет.

const request = require('request');

app.get("/", function (req, res) {   
  request('http://www.google.com', function (error, response, body) {
    console.error('error:', error); // Print the error if one occurred
    console.log('statusCode:', response && response.statusCode); // Print the response 
  
    console.log('body:', body); // Print the HTML for the Google homepage.
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...