cuando compruebo el origen de la página html, las etiquetas HTML y el contenido de texto se comprimen sin línea en blanco, pero en línea javascript.¿Cómo hacer que la plantilla de Jade comprima javascript en línea automáticamente?
Respuesta
No estoy seguro y aún no lo he probado, pero puede agregar un filtro y utilizar UglifyJS. Por ejemplo
var uglyParser = require("uglify-js").parser;
var uglyUgly = require("uglify-js").uglify;
var uglify = function(str) {
var ast = uglyParser.parse(str);
ast = uglyUgly.ast_mangle(ast);
ast = uglyUgly.ast_squeeze(ast);
return uglyUgly.gen_code(ast);
}
Para ser honesto, no estoy seguro de dónde poner que en jade por lo que es tratado como un filtro. Por ahora deberías poder pegarlo en https://github.com/visionmedia/jade/blob/master/lib/filters.js.
El uso en jade sería entonces:
script(type="text/javascript")
:uglify
<Your JavaScript Code>
De nuevo, no se han probado. Pero creo que debería funcionar. Lo probaré más tarde hoy.
Acaba de ser descubierto algo que funciona para mí en Jade v0.30.0:
- Cambiar el nombre de su archivo con una extensión .js .uglify
En la plantilla de Jade, el uso:
include name-of-javascript-file.uglify
Por qué funciona: Investigando en el código fuente de Jade, descubrí un archivo llamado filters.js
. Allí, verá una dependencia en transformers
. En lib/transformers.js
(del módulo de transformadores), verá las diversas utilidades de transformación, incluido uglify
. Aparentemente, Jade llamará a cualquiera de esos transformadores si coincide con la extensión de archivo correcta en su declaración include
.
Según the docs, puede utilizar cualquier JSTransformer como filtro de jade. Así, en las que normalmente hacer esto a inline JS:
script.
(function doSomething() { … })();
las que debe hacerlo de esta manera:
script
:uglify-js
(function doSomething() { … })();
Funciona perfectamente, gracias! –
- 1. Cómo utilizar subrayado en la plantilla de jade
- 2. minúsculas con la plantilla Jade
- 3. ¿Cómo puedo hacer que IIS comprima archivos .svg?
- 4. ¿Cómo puedo hacer esto en Jade?
- 5. Condición en línea en Jade
- 6. ¿Cómo se usan las variables de JavaScript al escribir estilos CSS en línea en una plantilla de Jade?
- 7. motor de plantilla Pug/Jade: embellecedor html?
- 8. javascript en línea dentro de la plantilla de manillares
- 9. ¿Qué significa `body! = Body` en la plantilla de Jade?
- 10. ¿Repetición recursiva sobre un objeto en la plantilla de Jade?
- 11. Cómo hacer que todo esté en minúscula automáticamente en Javascript, ya que lo escriben en
- 12. ¿Cómo hacer que la plantilla del código Eclipse sea así?
- 13. node.js jade - cómo configuro el tipo de contenido en jade
- 14. Cómo deshacer '&' en Jade
- 15. Plantilla ERB que elimina la línea posterior
- 16. Jade - Control de saltos de línea en la salida HTML
- 17. Node.js JADE linebreaks en la fuente?
- 18. ¿Cómo hacer que un formulario se envíe automáticamente al cargar la página en JavaScript?
- 19. ¿Cómo hacer que las variables estén disponibles en la plantilla?
- 20. node.js plantilla de jade: sintaxis personalizada y reemplazos?
- 21. Cómo hacer que la aplicación de Android se actualice automáticamente
- 22. ¿Cómo hacer que eclipse agregue comentarios de línea en el guión al comienzo de la línea?
- 23. pugjs (jade) plantilla motor cargando el archivo css
- 24. Sintaxis de la plantilla HAML o Jade disponible para Python?
- 25. Renderizar plantilla de jade con diseño (sin expreso)
- 26. ¿Cómo se puede expresar y jade no comprime html?
- 27. ¿Cómo hacer que git cargue automáticamente el comentario anterior en el editor en commit?
- 28. ¿Cómo hacer que mysql se inicie automáticamente? (solo linux-cli)
- 29. plantilla de Jade como un preprocesador para html
- 30. Recargar automáticamente archivos de plantilla
tuve este problema también, y no creía que era lo suficientemente importante como para comprimirlo a mano. Uglifying el javascript sería más útil en mi humilde opinión. Pero me gustaría añadir que los puntos y comas no son necesarios en javascript, y la compresión de javascript en línea automáticamente necesitaría primero analizar y entender qué lugares necesitan punto y coma. – TiansHUo