2011-01-12 6 views
3

У меня есть сценарий оболочки, который собирает все .js-файлы на странице и объединяет их для компиляции с использованием компилятора закрытия. Тем не менее, я не хочу, чтобы конкретный js-файл оптимизировал любой из компиляторов. Например, у меня есть команда для компиляции файлов file.js, fileB.js и fileC.js. Как я могу отказаться от пропуска файла fileB.js, но поместить его в выходной файл scripts.min.js в правильном порядке? Таким образом, файлы file.A.js и fileC.js будут оптимизированы с использованием SIMPLE_OPTIMIZATION, а fileB.js не будут затронуты. Есть ли ключевое слово, которое я могу разместить в комментариях самого файла, который говорит, пропустите этот файл?short compiler skip file

java -jar compiler.jar --js=fileA.js --js=fileB.js --js=fileC.js --js_output_file=scripts.min.js 

Спасибо!

+0

Вы не должны этого делать. Closure советует не смешивать скомпилированный и некомпилированный код. Что именно вы пытаетесь достичь, что не позволяет скомпилировать все 3 файла вместе? – EMMERICH

+0

Действительно ли A или C зависят от B, или B от A или C? Если предложение nullptr не является ответом, хотя вы, возможно, по крайней мере минимизируете пробелы в файлеB. –

ответ

2

Если я понимаю ваше намерение здесь, вы можете рассмотреть возможность обработки каждого файла, который вы хотите минимизировать отдельно, а затем выполнить конкатенацию как отдельный шаг. В псевдокоде:

minify fileA.js 
minify fileC.js 
cat fileA.js fileB.js fileC.js >scripts.min.js 
1

Там нет ключевых слов, которые вы можете поместить в любой области, чтобы сказать «меня игнорировать». nullptr имеет правильное предложение. В нашем проекте мы создали несколько простых комментариев для предварительной обработки и используем их для управления потоком. Тем не менее, вы можете игнорировать и включать файл перед мини-кодом или после мини-кода, если вы хотите сделать это за один проход. Таким образом, решение nullptr является единственным. Не забудьте использовать внешние файлы, поэтому переменное переименование (а не переименование) работает правильно.