O serviço do compilador de interdição foi descontinuado e será removido. Considere executar o compilador localmente.
Visão geral
Para solicitar o código compilado ou outras informações do serviço do Frontend Compiler,
envie uma solicitação POST HTTP ao URL
https://closure-compiler.appspot.com/compile
. O corpo da solicitação precisa
conter os parâmetros listados em Parâmetros de solicitação
obrigatórios, além de conter qualquer um dos parâmetros opcionais
listados em Parâmetros de solicitação opcionais.
Quando possível, esta página usa a documentação canônica para ver as opções de linha de comando em Sinalizações e opções. As opções de linha de comando não disponíveis no webserver não estão documentadas aqui. Alguns parâmetros de solicitação também não estão disponíveis na linha de comando ou têm um nome diferente.
Se o servidor não processar a solicitação, você receberá uma mensagem de erro. Essas mensagens são descritas na seção Mensagens de erro.
Parâmetros de solicitação
Parâmetros de solicitação obrigatórios
js_code
oucode_url
-
O JavaScript a ser compilado. É necessário incluir pelo menos um desses parâmetros.
O parâmetro
js_code
precisa ser uma string contendo JavaScript, comoalert('hello')
.O parâmetro
code_url
precisa conter o URL de um arquivo JavaScript. É possível incluir vários parâmetroscode_url
para especificar vários arquivos de entrada. compilation_level
-
Consulte a documentação de
compilation_level
em Sinalizações e opções. output_format
- O formato de saída do serviço do Frontend Compiler. Há três formatos de saída possíveis:
xml
-
O formato de saída
xml
envolve as informações solicitadas em XML válido.A saída XML tem esta aparência:
<compilationResult> <compiledCode>var a="hello";alert(a);</compiledCode> <statistics> <originalSize>98</originalSize> <compressedSize>35</compressedSize> <compileTime>0</compileTime> </statistics> </compilationResult>
A seção
compiledCode
contém o JavaScript compactado produzido pelo serviço Compiler Compiler. Esta seção só vai aparecer se você incluir um parâmetrooutput_info
com um valor decompiled_code
na solicitação. Da mesma forma, a seçãostatistics
só aparece se você incluir um parâmetrooutput_info
com um valor destatistics
.Se você incluir um parâmetro
output_info
com um valor dewarnings
e o compilador produzir um aviso, a saída incluirá uma tagwarnings
:<compilationResult> ... <warnings> <warning type="JSC_NO_SIDE_EFFECT" file="default.js" lineno="12" charno="3" line="delete 1;">warning 1</warning> <warning type="JSC_UNUSED_VAR" file="default.js" lineno="13" charno="13" line="delete 1;">warning 2 </warning> </warnings> ... </compilationResult>
Se você incluir uma
output_info
com um valor deerrors
, o serviço do Compiler Compiler incluirá uma tagerrors
se seu código contiver um erro de sintaxe ou outro problema que impeça a compilação. A tagerrors
tem esta aparência:<compilationResult> ... <errors> <error type="JSC_NO_SIDE_EFFECT" file="default.js" lineno="12" charno="3" line="var x=-'hello';">error 1 </error> <error type="JSC_UNUSED_VAR" file="default.js" lineno="13" charno="13" line="var x=-'hello'">error 2 </error> </errors> ... </compilationResult>
Os atributos
file
,line
ecol
das tagserror
ewarning
indicam onde o serviço Compiler Compiler encontrou o erro.Se o serviço Compile Compiler encontrar um erro que impede o processamento da entrada, a saída será semelhante a esta:
<compilationResult> <serverErrors> <error code="1">Over quota</error> </serverErrors> </compilationResult>
json
-
O formato de saída
json
une as informações solicitadas em uma string JavaScript Object Notation (JSON). A avaliação dessa string como JavaScript retorna um objeto JavaScript.A saída JSON é semelhante a esta:
{ "compiledCode":/* raw code here */, {"errors": [ {"charno":4321, "error":"ERROR: You failed.", "lineno":1234, "file":"default.js", "type":"ERROR_TYPE", "line":"var x=-'hello';"}], "warnings": [ {"charno":4321, "lineno":1234, "file":"default.js", "type":"ERROR_TYPE", "warning":"Warning: You did something wrong!", "line":"delete 1;"}] "serverErrors":[ {"code":123,"error":"Over quota"} ], "statistics":{ "originalSize":10, "compressedSize":3000 "compileTime":10 } }
O formato JSON é semelhante ao formato XML: cada tag na saída XML corresponde a uma propriedade com o mesmo nome no objeto JSON.
text
-
O formato de saída
text
retorna texto bruto sem tags ou colchetes JSON. Seoutput_info
incluircompiled_code
, o texto conterá JavaScript. Seoutput_info
incluirwarnings
, o texto conterá mensagens de aviso. Seoutput_info
incluirstatistics
, o texto vai conter estatísticas.
O valor padrão do parâmetro
output_format
étext
. output_info
-
Indica o tipo de saída que você quer do compilador. Existem quatro tipos possíveis de saída:
compiled_code
- Uma versão compactada e otimizada do JavaScript de entrada.
warnings
- Mensagens que indicam possíveis bugs no JavaScript.
errors
- Mensagens que indicam erros de sintaxe ou outros erros no JavaScript.
statistics
-
Informações sobre o grau de compactação que o compilador de fechamento alcança. Para a saída XML, o serviço do Compiler Compiler retorna estatísticas no seguinte formato:
<compilationResult> ... <statistics> <firstStatisticName>24</firstStatisticName> <secondStatisticName>15</secondStatisticName> </statistics> </compilationResult>
Parâmetros de solicitação opcionais
js_externs
-
O valor desse parâmetro precisa ser um código JavaScript que declara nomes de função ou outros símbolos. Use
js_externs
para preservar símbolos definidos fora do código que você está compilando. O parâmetrojs_externs
só terá efeito se você estiver usando umcompilation_level
deADVANCED_OPTIMIZATIONS
. Consulte Compilação avançada para ver mais informações. externs_url
-
O valor desse parâmetro precisa ser o URL de um arquivo que contenha o JavaScript que declare nomes de funções ou outros símbolos. Os símbolos declarados nesse arquivo são preservados da mesma forma que os símbolos listados diretamente no parâmetro
js_externs
. O parâmetroexterns_url
só terá um efeito se você estiver usando umcompilation_level
deADVANCED_OPTIMIZATIONS
. Consulte Compilação avançada para ver mais informações.Você pode especificar esse parâmetro várias vezes se tiver vários arquivos.
exclude_default_externs
-
Por padrão, o serviço Compile Compiler usa um arquivo externo externo que declara símbolos comuns definidos externamente, como
document
e todos os métodos dele. Se você NÃO quiser usar essas funções externas comuns, inclua na solicitação um parâmetroexclude_default_externs
com um valor detrue
.Consulte Compilação avançada e funções externas para ver mais informações sobre funções externas.
output_file_name
-
Se estiver presente, o serviço do Compiler Compiler armazena em cache o código compilado por uma hora e o disponibiliza por um URL especial. Durante esse horário, é possível testar o código compilado apontando o navegador para esse URL. O URL tem este formato:
https://closure-compiler.appspot.com/code/bf067f356d510e1c7b81347eb84f65d2/[value of output_file_name]
formatting
-
Consulte a documentação de
formatting
em Sinalizações e opções. É possível fornecer vários parâmetrosformatting
na mesma solicitação. -
use_closure_library
-
Se você fornecer ao parâmetro
use_closure_library
um valor detrue
, o compilador procurará instruçõesgoog.require()
no código-fonte e fornecerá o código da Biblioteca closure solicitado por qualquer uma dessas instruções. Ele também faz otimizações projetadas especificamente para o código da Biblioteca outro fechamento. Consulte a documentação da Biblioteca closure para ver mais informações. Consulte Como encontrar seu caminho na Biblioteca Bloqueio, para mais informações sobre a funçãogoog.require()
.O parâmetro
use_closure_library
é definido por padrão comofalse
. warning_level
-
Consulte a documentação de
warning_level
em Sinalizações e opções. -
language
-
Consulte a documentação sobre a opção
language_in
equivalente em Sinalizações e opções. -
language_out
-
Consulte a documentação de
language_out
em Sinalizações e opções. -
rewrite_polyfills
-
Consulte a documentação de
rewrite_polyfills
em Sinalizações e opções. -
use_types_for_optimization
-
Consulte a documentação de
use_types_for_optimization
em Sinalizações e opções.
Mensagens de erro
Se o servidor não processar sua solicitação, você receberá uma das mensagens de erro listadas na tabela abaixo. Essas mensagens de erro do servidor são diferentes dos erros e avisos do compilador. Os erros e avisos do compilador indicam que o Frontend Compiler encontrou um problema no seu código JavaScript. As mensagens de erro do servidor indicam que o compilador não consegue processar o código devido a um erro na solicitação.
Código do erro | Mensagem de erro | Significado |
---|---|---|
2 | Modo de saída desconhecido. | O valor do parâmetro output_format é diferente de xml , json ou text . |
4 | Nível de compactação desconhecido. | O
valor do parâmetro compilation_level é diferente
de WHITESPACE_ONLY , SIMPLE_OPTIMIZATIONS
ou ADVANCED_OPTIMIZATIONS . |
8 | Os dados POST são muito grandes. |
O tamanho dos dados enviados para o serviço do Frontend Compiler
excede 200.000 bytes. A IU do serviço do compilador e suas chamadas
de API usam uma solicitação HTTP POST para se comunicar com o serviço,
e a quantidade total de dados enviados nessa solicitação não pode exceder 200.000
bytes. Para chamadas de API, esse limite se aplica à quantidade total de texto em todos os parâmetros de solicitação. Para a IU do Frontend Compiler, esse limite
se aplica à quantidade total de texto no código-fonte e nas
opções do compilador, como @code_url . Se a solicitação for muito grande, mova o código-fonte para arquivos separados e faça referência a eles usando @code_url ou use o aplicativo Frontend Compiler na sua máquina local.
|
9 | Arquivo muito grande. | A quantidade total de
código de todos os arquivos code_url ,
de externs_url , de js_code e
de js_externs excede 1.024.000 bytes. |
10 | Não é possível recuperar o conteúdo do URL. | Ocorreu um erro quando o serviço do Frontend Compiler tentou recuperar um arquivo JavaScript
indicado no parâmetro code_url ou um arquivo
ternário indicado no parâmetro externs_url . Verifique se o URL está correto e se as permissões do arquivo permitem a visualização. |
12 | O URL não está formatado corretamente. | O valor de code_url ou externs_url não é um URL bem formado. |
13 | Nenhuma informação de saída a ser produzida, mas a compilação foi solicitada. | Nenhum parâmetro output_info foi especificado. |
14 | Valor de output_info desconhecido | O valor de um parâmetro output_info é diferente de compiled_code , warnings ou statistics . |
16 | Nível de aviso desconhecido | O valor do parâmetro warning_level é diferente de QUIET , DEFAULT ou VERBOSE . |
17 | Opção de formatação desconhecida. | O valor do parâmetro formatting é diferente de pretty_print . |
18 | Parâmetro desconhecido na solicitação HTTP | A solicitação HTTP contém um parâmetro diferente dos listados neste documento. |
19 | Valor ilegal para output_file_name. | O nome do arquivo de saída contém um caractere, como número, letra, ponto, sublinhado ou traço, ou contém dois pontos consecutivos (.. ). |
22 | Foram feitas muitas compilações recentemente. Tente novamente mais tarde. | Você enviou muitas compilações da sua máquina. Após uma hora, você poderá compilar novamente. |
23 | Exceção do compilador (com backtrace) | O compilador falhou. O texto do erro conterá informações para ajudar o Google a depurar o problema. |
24 | Tipo de recurso de entrada incompatível | O tipo de recurso não é http:, portanto, o arquivo de entrada não será recuperado. |