Soy muy nuevo en el nodo y he buscado cómo configurar simplemente un servidor de nodo. Siento que lo configuré correctamente, pero cuando voy a https://localhost:8080/ dice "No se puede acceder al sitio". Tampoco se registra nada en la consola. He pasado por muchas preguntas similares, pero ninguna solución me ha ayudado todavía. Ejecuté npm init y npm install y aquí está mi código:
var Express = require('express'); var Https = require('https'); var Fs = require('fs'); var app = Express(); var port = process.env.EXPRESS_PORT || 8080; var options = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('cert.pem') }; console.log("helloo?"); express.createServer(options, function (req, res) { console.log("hi") res.writeHead(200); res.end("hello world\n"); }).listen(8080);Hay muchos errores tipográficos en el código, para que funcione, hice los cambios.
Para crear un servidor https, debe utilizar el módulo https incorporado de node.js y crear un servidor https pasando sus certificados, como se muestra a continuación.
Ir a - https://localhost:8080/
Respuesta:
{ message: "this is served in https" }
var express = require('express'); var https = require('https'); var fs = require('fs'); var app = express(); var port = process.env.EXPRESS_PORT || 8080; var options = { key: fs.readFileSync('key.pem'), cert: fs.readFileSync('cert.pem') } console.log("helloo?"); app.get('/', function(req, res) { res.json({ message: 'this is served in https' }) }) var secure = https.createServer(options, app); // for express secure.listen(port, function() { console.log('localhost started on', port) }) // for just node server request listener /* https.createServer(options, (req, res) => { res.writeHead(200); res.end('hello world\n'); }).listen(port); */Escribí un código básico para ti. Creo que funcionará para tu respuesta y para ti. intente esto. Otra cosa es que si está utilizando express, entonces no es necesario importar el módulo http para conectarse al servidor. He comentado algunos códigos, pruébalos uno por uno.
var express = require('express'); var app = express(); const fs = require('fs'); //const http = require('http'); app.set('port',process.env.PORT || 3000); app.get('/',function(req, res){ res.send('Hellow World'); }); const fileName = __dirname + '/test.txt'; fs.readFile(fileName, (err, data) => { if (err) { console.error(err); }console.log('Done!'); console.log(data.toString()); }); //or /* const data = fs.readFileSync(fileName); console.log(data.toString()); */ //below code will print whatever characters inside test.txt into test-copy.txt file /* const filename = __dirname + '/test.txt'; const outFileName = __dirname + '/test-copy.txt'; const readStream = fs.createReadStream(filename); const writeStream = fs.createWriteStream(outFileName); readStream.pipe(writeStream); readStream.on('data', data => { console.log(data.toString()); }); */ app.listen(app.get('port'), function(){ console.log('Server listenning at port 3000'); });Primero debe crear el archivo test.txt y escribir algo dentro de él. A continuación, cree el archivo tezt-copy.txt si prueba el código comentado.