Closure Compiler - анализировать Javascript в командной строке, не читая его с диска?

Я вызываю Closure Compiler (closurecompiler.jar) из скрипта. Сценарий также генерирует некоторый javascript, который компилятору Closure необходимо скомпилировать. Есть ли способ разобрать этот javascript в Closure Compiler, не записывая его на диск и не читая его с помощью --js.


person Sean Bannister    schedule 08.11.2012    source источник


Ответы (1)


Если вы не укажете параметр --js, компилятор будет считывать со стандартного ввода. Это будет полностью зависеть от того, какую операционную систему и язык сценариев вы используете, но вы должны иметь возможность открывать канал для подпроцесса и писать в него. Если вы используете PHP в Linux/Mac/Unix, например:

<?php
$descriptorspec = array(
   0 => array("pipe", "r"),  // stdin is a pipe that the child will read from
   1 => array("pipe", "w")   // stdout is a pipe that the child will write to
);

$process = proc_open('/path/to/java -jar compiler.jar', $descriptorspec, $pipes);

// Write the source script to the compiler
fwrite($pipes[0], $string_that_contains_your_script);
fclose($pipes[0]);

// Get the results
$compiled_script = stream_get_contents($pipes[1]);
fclose($pipes[1]);

$return_value = proc_close($process);

Вы должны быть в состоянии адаптировать это практически к любому языку.

person whamma    schedule 19.11.2012