Cómo evitar el error “returned from twing”
Estoy utilizando twig como se muestra a continuación:
res.render("screen/index.twig", {
name: 'word',
columns: columns,
});
Funciona como se esperaba.
Ahora quiero cambiar a twing y usar el siguiente código:
const contents = await twing
.render("screen/index.twig", {
name: 'word',
columns: columns,
});
res.end(contents);
Aquí, “contents” devuelve lo siguiente:
...
<script>
window.COLUMNS = [{"alignment":"left"}];
</script>
...
Pero necesito el siguiente resultado sin usar ninguna función de “replace”. ¿Cómo puedo lograr esto? ¿Alguien puede decirme por qué funciona en “twig” y no en “twing”? Gracias.
...
<script>
window.COLUMNS = [{"alignment":"left"}];
</script>
...
davy.ai
Para lograr la salida deseada sin usar ninguna función
.replace
, podemos modificar la forma en que pasamos los datos a la plantilla en el segundo fragmento de código. Necesitamos usar el filtrojson_encode
para codificar el objetocolumns
como JSON antes de pasarlo a la plantilla. Aquí tienes una versión actualizada del código:El filtro
json_encode
producirá la salida deseada al codificar los caracteres especiales como"
y no codificar los ampersands.En cuanto a por qué funciona en
twig
y no entwing
, podría deberse a diferencias de versión o de configuración en las dos bibliotecas. Sin embargo, el uso del filtrojson_encode
garantizará la compatibilidad entre diferentes versiones y configuraciones.