Обновить ссылки на статические файлы с версией - PullRequest
1 голос
/ 19 декабря 2011

В нашем веб-приложении у нас много файлов JS и CSS.
Нам нужно добавлять номер версии к этим ссылкам каждый раз, когда мы внедряем код. Это сделано для того, чтобы пользователи всегда получали последнюю развернутую версию файла, и файл не будет обслуживаться из кэша браузера. Мы планируем сделать это с помощью нашего скрипта сборки.
Нам нужно добавить параметр к ссылке на файл, например <script type="text/javascript src=./abc/test.js?v=1231 />.

Мы должны сделать это для всех файлов CSS и JS.
Может кто-нибудь предложить, пожалуйста, лучший appraoch для этого?

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

Не могли бы вы помочь мне, как я могу узнать все ссылки CSS и JS на моей странице HTML?

1 Ответ

0 голосов
/ 19 декабря 2011

Вам нужно найти все ссылки CSS и javascript в ваших файлах HTML? Было бы проще использовать заменяемый токен в этих файлах, а затем запустить задачу в ant для выполнения замен. Муравей должен только найти жетоны.

Вы можете сделать это с помощью задачи ReplaceRegExp (чтобы выполнить замену на месте), или вы можете выполнить Копирование или Перемещение с помощью FilterSet (чтобы выполнить замену в копиях целевых файлов).

Вот пример использования ReplaceRegExp:

<project default="test">

  <property name="build.version" value="1231"/>

  <target name="test">
    <replaceregexp match="\@BUILD_VERSION\@" replace="${build.version}">
      <fileset dir="test">
        <include name="*.html"/>
      </fileset>
    </replaceregexp>
  </target>

</project>

Вот пример файла перед запуском сборки:

<html>
  <head>
    <script type="text/javascript" src="./abc/test.js?v=@BUILD_VERSION@"/>
  </head>
</html>

И вот оно после:

<html>
  <head>
    <script type="text/javascript" src="./abc/test.js?v=1231"/>
  </head>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...