минимизировать и объединять файлы - каковы ваши настройки разработки и выпуска? - PullRequest
1 голос
/ 08 сентября 2010

В настоящее время я использую PHP minify для объединения и сжатия статических файлов (CSS и JS).С помощью PHP minify его очень легко разрабатывать и развертывать.Потому что:

Допустим, есть два файла: a.js и b.js, и мы объединяем и минимизируем их в ab.js.Теперь мне достаточно включить только один тег сценария:

<script type="text/javascript" src="http://static.example.com/min/g=ab&amp;v=7"></script>

С такой гибкостью я могу разрабатывать в a.js и b.js и в то же время тестировать окончательную свернутую версию без изменения тега includeвыше.При выпуске мне даже не нужно ничего менять.

Но теперь я хочу переместить мои статические файлы на CDN-сервер, где PHP не будет, поэтому я предполагаю, что мне нужно использовать YUI-компрессор для минимизации и объединенияперед загрузкой.Теперь, если я комбинирую a.js и b.js с YUI-компрессором, мне нужно изменить тег включения, который я использовал для разработки.

Поэтому при разработке я должен использовать:

<script type="text/javascript" src="http://static.example.com/a.js"></script>
<script type="text/javascript" src="http://static.example.com/b.js"></script>

И при загрузке я должен использовать:

<script type="text/javascript" src="http://static.example.com/ab.min.js"></script>

Тогда это становится проблемой, потому что две строки должны быть объединены в одну.Каковы ваши настройки для управления этим?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2010

Похоже, вам удобно использовать разные базовые URL для разработки и производства, но объединение двух строк в одну - ваша проблема.

Если это так, возможно, вы хотите разделить этот шаг на две части.

  1. Объедините a.js и b.js вручную в ab.js, но не уменьшайте. Вам нужно сделать это только один раз. Теперь во время разработки вы можете работать непосредственно с исходным кодом в файле ab.js.
  2. Перед загрузкой, обычно в качестве автоматизированного этапа процесса сборки, используйте YUI-компрессор для минимизации ab.js.

Если вы хотите разделить a.js и b.js, то вышеприведенное не сработает для вас, и вам, вероятно, понадобится какой-то препроцессор, который будет изменять теги сценария в вашем исходном коде по мере необходимости.

0 голосов
/ 08 сентября 2010

Укажите базовый URL-адрес ab.min.js (т. Е. http://static.example.com/) в файле конфигурации. В производственной конфигурации используйте расположение CDN. В своей конфигурации разработки используйте автоматически минимизированное расположение.

...