Сценарий/Приложение, который автоматически компилирует и сжимает js файлы, как Вы сохраняете

Я создаю веб-сайт и имею несколько js файлов все в одном каталоге. Когда я сохранил любой из js файлов, я хочу, чтобы сценарий работал, который скомпилирует и сожмет все файлы с помощью банки компилятора закрытия Google.

Пример от Google Closure Compiler README:

java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js

Существует ли сценарий оболочки или приложение, которое делает это? Я ищу что-то подобное тому, как http://incident57.com/less/ работает на CSS.

9
задан Jacob Relkin 18 July 2010 в 07:42
поделиться

3 ответа

Linux и Mac OSX имеют интерфейсы приложений, которые позволяют отслеживать изменения файловой системы.

Я сам использую Linux, поэтому я знаком с inotify . Создать сценарий, сжимающий ваши файлы, будет достаточно просто, и я смогу сделать это за вас по доступной цене.

Для Mac OSX вы можете использовать FSEvents , чтобы получить тот же эффект. Хотя вам нужно будет сделать это самому.

Если вам интересно, как это сделать в Windows ... Ну, никто в полном здравом уме не стал бы использовать эту систему для разработки программного обеспечения.

0
ответ дан 5 December 2019 в 01:42
поделиться

В linux вы можете использовать команду inotifywait для прослушивания изменений в определенной папке. Этот скрипт может дать вам представление:

#!/bin/bash

directory=$1

inotifywait -q -m --format '%f' -e modify -e move -e create -e delete ${directory} | while read line

do
    echo "doing something with: $line";

    # for example:
    # java -jar compiler.jar --js=in1.js --js=in2.js ... --js_output_file=out.js 
done

Вы можете вызвать этот скрипт, указав каталог "monitor", таким образом

./inotify.sh ~/Desktop/
3
ответ дан 5 December 2019 в 01:42
поделиться

Если вы используете IDE, подобную eclipse, вы можете создать и настроить для этого построитель.

Но в вашем проекте также должен быть флажок «Создавать автоматически».

0
ответ дан 5 December 2019 в 01:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: