Как автоматически удалять HTML-комментарии в режиме Release?

Я пытаюсь найти способ автоматического удаления комментариев HTML в режиме выпуска по двум основным причинам.

  • Минификация: на некоторых страницах много комментариев
  • Комментарии содержат уведомления о разработке и списки TODO (которые доступны конечному пользователю).

Я использую ASP.NET MVC и ищу что-то в том же духе, что и функции объединения и минимизации.


person Moslem Ben Dhaou    schedule 24.05.2014    source источник


Ответы (2)


Используйте комментарии Razor на стороне сервера

@*
This is a server side 
multiline comment 
*@
person Jay Douglass    schedule 24.05.2014

Если вы знакомы со сценариями сборки, я бы порекомендовал это. Я также использую сценарии сборки для развертывания, изменения web.config, создания резервных копий и т. д.

Проверьте эту ссылку. В нем объясняется, как изменить XML-файл во время сборки: http://www.federicosilva.net/2013/02/msbuild-in-line-task-to-modify-file.html

Вы также можете легко написать собственную задачу.

public class HtmlSanitizingTask : ITask
{
    [Required]
    public string FilePath { get; set; }

    public bool Execute()
    {
        //ToDo: Implement HTML Sanitizing here
        return true;
    }

    public IBuildEngine BuildEngine { get; set; }
    public ITaskHost HostObject { get; set; }
}

Создайте его и укажите ссылку на DLL из скрипта сборки.

<UsingTask TaskName="MyNamespace.HtmlSanitizingTask" AssemblyName="MyNamespace.dll" />

А затем вызвать операцию

<MyNamespace.HtmlSanitizingTask FilePath="filepathHere" />

Я надеюсь, что это помогает :)

person Schadensbegrenzer    schedule 24.05.2014