¿Es posible pasar datos de un archivo .js a un archivo .pug sin usar Node? Estoy usando una configuración muy básica donde ejecuto y agrego mi proyecto con Parcel.js. No estoy usando un backend de Node.js con Express y no aspiro a hacerlo. Simplemente quiero poder obtener datos en mi archivo app.js y mostrarlos usando Pug. Pero incluso esta configuración no muestra el name -variable en la página:
índice.pug
doctype html html(lang="en") head title Homepage body p My name is #{name} script(type="module", src="./app.js")aplicación.js
const name = "Holy Kiwi";paquete.json
{ "name": "frontend-javascript-edhub-pug", "version": "1.0.0", "main": "app.js", "scripts": { "start": "parcel index.pug", "build": "parcel build index.pug" }, "devDependencies": { "@parcel/transformer-pug": "^2.0.0", "parcel": "^2.0.0", }, "dependencies": { "pug": "^3.0.2" } }Otras cosas que probé que no funcionaron
app.js : export const name = 'Kiwi'; ;- const name = import { name } from './app.js';¡Realmente espero que puedas ayudarme!
Como tiene instalado el paquete pug , puede usar el método renderFile :
const pug = require("pug"); const html = pug.renderFile("./path_to/index.pug", { name: "Holy Kiwi"}); Lo anterior produce la siguiente cadena en el objeto html , y puede "mostrarla" según sus necesidades:
<!DOCTYPE html><html lang="en"><head><title>Homepage</title></head><body><p>My name is Holy Kiwi</p><script type="module" src="./app.js"></script></body></html>