Кто я такой?


Привет хабраюзерам и просто читателем хабра. Честно, я думал, что навряд ли я когда-нибудь стану писать на хабре, но судьба так повернула, а теперь я здесь.
Зовут меня MrHerzog и это действительно моя первая статья на хабре, а пришел я сюда, потому что недавно разместил на github мой первый проект для всеобщего использования — compressor.php.

На самом деле, я уже написал и продолжаю писать много проектов на JavaScript, Node.js, PHP, HTML+CSS (HTML5+CSS3), Java, C, но я никак не мог написать проект для всеобщего использования (если не считать до сих пор незаконченный js-фреймворк, который, наверное, я скоро залью на github).

Возникновение идеи


Я обожаю JavaScript! Это моя страсть! Это язык, на котором я пишу чаще всего и больше всего. Я все чаще и все больше пишу какие-то скрипты, библиотеки, плагины. И когда один из моих скриптов превысил 1000 строк, я понял, что мне надо разделить один большой файл на несколько маленьких, но JS не работает с файлами. Я уже был знаком с Grunt, но мне он не понравился. Он [grunt] слишком сложен, для того, чтобы просто собрать несколько файл в один! Я понял, чтобы сделать так, как хочу — мне надо написать скрипт сборки самому. Я решил, что буду писать на PHP, не знаю, почему. Наверное потому, что там это сделать легче всего (Compressor.php v0.1.0 состоит из 29 строк, учитывая пустые строки и комментарии).

Как работать c Compressor.php?


Для начала вам нужно скачать Compressor.php здесь.
Берем файл compressor.php и помещаем его на веб-сервер с поддержкой PHP. После, создаем в одной директории с библиотекой файл manifest.php, здесь мы будем настраивать compressor.

Работа с manifest.php

Итак, мы создали манифест-файл, давайте его заполнять.

Для начала мы должны создать переменную config ($config).

<?php
$config = array();
?>

Config — это ассоциативный массив, который принимает 3 значения (v0.1.0):
  • src — ассоциативный массив, где хранятся пути до файлов для сборки
  • separator — разделитель файлов (как будут соединяться файлы в сборке. Например, \n)
  • finish — путь конечного файла (если файл не существует, то он будет создан)


<?php
$config = array(
     // Файлы для сборки
     "src" => array(
         "src/hello1.js",
         "src/hello2.js",
         "src/hello3.js"
     ),

     // Указываем разделитель файлов
     "separator" => "\n\n", 

     // Файл, который получим после сборки
     "finish" => "finish.js"
);
?>


Теперь запускаем compressor.php (напоминаю, что с веб-сервера).
После загрузки страницы должен был появиться файл в директории, которую мы указали. Если появился — значит вы все сделали правильно.

Планы на будущее


  • Сделать веб-консоль для запуска и настройки Compressor.php в браузере
  • Сделать библиотеку ошибок, чтобы при невыполнении сборки, можно было увидеть в чем ошибка