Estoy usando el método .setContent() de titiritero para establecer el contenido de una página. Estoy leyendo una imagen png como:
var image = fs.readFileSync('some_image.png'); // image is a buffer object
El siguiente código funciona como una variable de plantilla de imagen reemplazada por su valor en la cadena htmlstring:
principal.js
var image = fs.readFileSync('some_image.png'); const htmlString = ` <html> <head><meta http-equiv=Content-Type content="text/html; charset=UTF-8"> </head> <body> <div> <img src="data:image/png;base64,${image.toString('base64')}" width=960 height=750></div> </body> </html>`; await page.setContent(htmlString);
Ahora no quiero declarar la variable htmlString en mi main.js, sino que quiero mantener eso en un archivo separado y de alguna manera usarlo en mi main.js
Por esto lo intenté
creando un archivo pages.html con el contenido html como se muestra a continuación
paginas.html
<html> <head><meta http-equiv=Content-Type content="text/html; charset=UTF-8"> </head> <body> <div> <img src="data:image/png;base64,${image.toString('base64')}" width=960 height=750></div> </body> </html>
en mi main.js
var image = fs.readFileSync('some_image.png'); var htmlfromfile = fs.readFileSync('pages.html').toString();
esto no funciona y mi etiqueta img todavía tiene "data:image/png;base64,${image.toString('base64')}" y no el valor de búfer de la imagen en ella. ¿Cómo consigo que esto funcione?