Alright, so I have downloaded Express, set the port with process.env.PORT || 8080
, and set the app variable var app = express()
. Now, what I'm trying to accomplish is instead of rendering HTML through a file, could I do it through a string?
var html = "<!DOCTYPE html>\n<html>\n <head>\n </head>\n <body>\n <h1>Hello World!</h1>\n </body>\n</html>";
app.get('/',function(req,res){
res.render(html);
});
Is there a possible way to do this?
The most basic way you could do what you want is this : var http = require('http'); http. createServer(function (req, res) { var html = buildHtml(req); res. writeHead(200, { 'Content-Type': 'text/html', 'Content-Length': html.
Using Clean architecture for Node.So far we sent html code directly from the send(0 function in response object. For sending larger code, we definitely require to have a separate file for html code. Response object gives a sendFile() function to return a html file to client.
the res.render
method as specified in the doc : Renders a view and sends the rendered HTML string to the client. So you need to use a template engine eg : jade,ejs, handlebars.. but if your purpose is to only output some html you can do it with res.send
instead.
Use res.setHeader
set HTTP Response Header
res.setHeader("Content-Type", "text/html")
res.send(`
<h1>Mock API</h1>
`)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With