¿Cómo puedo añadir un comentario (para desarrolladores, es decir, no expuesto en HTML de salida) a una plantilla Angular?


Estoy acostumbrado a las plantillas de estilo 'bigote' más populares donde puedo agregar un comentario para mis colegas con:

{# The following line looks a bit odd, but here's why... #}

Estos comentarios obviamente no aparecen en la salida, por lo que los usuarios no los ven. ¿Cómo puedo hacer algo similar en Angular?

Author: mikemaccana, 2013-08-05

2 answers

Angular no tiene soporte para comentarios de plantilla incorporado. Sin embargo, podría crear una directiva de comentarios para apoyarla, como esta.

app.directive('templateComment', function () {
    return {
        restrict: 'E',
        compile: function (tElement, attrs) {
            tElement.remove();
        }
    };
});

El marcado sería entonces:

<template-comment>Put your comment here.</template-comment>

Alternativamente, puede usar comentarios html estándar y luego eliminarlos del código de producción antes de la implementación.

Considere esta tarea grunt, si desea admitir comentarios de bloque - https://github.com/philipwalton/grunt-strip-code Especifique un comentario inicial y un comentario final, y su bloque de comentarios se eliminará del código de producción, suponiendo que agregue esta tarea a su destino de implementación. Utilizarlo como modelo para construir el proceso, si no estás usando Grunt. ....

 32
Author: Pauli Price,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-27 14:13:13

Puede usar sintaxis normal para comentarios sin símbolos especiales como <!-- Order verification, and authorization -->, luego puede minificar html (grunt + htmlmin)

htmlmin: {
      dist: {
        options: {
          collapseWhitespace: true,
          collapseBooleanAttributes: true,
          removeCommentsFromCDATA: true,
          removeOptionalTags: true,
          removeComments: true,
          ignoreCustomComments: [ /[<>\:\[\]\#]+/ ]

        },
        files: [{
          expand: true,
          cwd: '<%= yeoman.dist %>',
          src: ['*.html', 'views/**/*.html'],
          dest: '<%= yeoman.dist %>'
        }]
      }
    },
 4
Author: Denis Nedosekin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-16 09:21:53