Começar a usar a biblioteca de fechamento

Este exercício do Hello World apresenta o processo de uso da Biblioteca de fechamento em uma página da Web. Para fazer esse exercício, você precisa conhecer o JavaScript, além de um cliente Git e Node.js.

Encerramento

Para começar a usar a Biblioteca outro SDK, use as funções do JavaScript do fechamento em uma página da Web simples, seguindo estas etapas:

Etapa 1: fazer o download e configurar a biblioteca de fechamento

Faça o download da biblioteca do Encerramento do repositório do Git executando o seguinte comando na linha de comando:

git clone https://github.com/google/closure-library

Você precisa de um cliente Git para executar esse comando, mas talvez já tenha um. Tente o comando. Se isso não funcionar, faça o download e instale um cliente Git (em inglês).

Depois de executar esse comando, você terá um diretório chamado closure-library que contém o código da Biblioteca de interdição.

Antes de continuar, o repositório da biblioteca de interdições precisa ser inicializado. Parte deste exercício depende de um arquivo chamado deps.js, que é gerado e, portanto, não faz parte do repositório quando é verificado pela primeira vez. Para gerar esse arquivo, insira este diretório e execute npm install (npm está empacotado com Node.js):

cd closure-library
npm install

Etapa 2: criar um arquivo JavaScript que usa a biblioteca outro projeto

Salve o seguinte JavaScript em um arquivo chamado hello.js. Coloque esse arquivo ao lado do diretório closure-library.

goog.require('goog.dom');
goog.require('goog.dom.TagName');

function sayHi() {
  var newHeader = goog.dom.createDom(goog.dom.TagName.H1, {'style': 'background-color:#EEE'},
    'Hello world!');
  goog.dom.appendChild(document.body, newHeader);
}

Etapa 3: criar um arquivo HTML

Salve o seguinte HTML em um arquivo chamado hello.html. Coloque esse arquivo ao lado do diretório closure-library e do arquivo hello.js.

<html>
  <head>
    <script src="closure-library/closure/goog/base.js"></script>
    <script src="hello.js"></script>
  </head>
  <body onload="sayHi()">
  </body>
</html>

Etapa 4: diga "Olá" à Biblioteca de interdição

Abra o arquivo HTML em um navegador. Você verá as palavras "Hello world!":

Como este exemplo funciona?

O JavaScript hello.js usa duas funções que não definem: goog.dom.createDom() e goog.dom.appendChild(). De onde vêm essas funções?

Essas funções são definidas na Biblioteca closure que você salvou na Etapa 1, no arquivo closure-library/dom/dom.js.

Para usar essas funções, o exemplo faz duas coisas:

  • Ele inclui a instrução goog.require('goog.dom') no início do JavaScript na Etapa 2.
  • Ele inclui o arquivo de inicialização da Biblioteca Frontend base.js no HTML da Etapa 3.

O arquivo base.js define a função goog.require(). A chamada de função goog.require('goog.dom') carrega o arquivo JavaScript que define as funções no namespace goog.dom, com quaisquer outros arquivos da Biblioteca outro necessário.

A Biblioteca outro projeto carrega esses arquivos adicionando dinamicamente uma tag de script ao documento para cada arquivo necessário. Por exemplo, a instrução goog.require('goog.dom') faz com que a seguinte tag seja adicionada ao documento, em que path-to-closure é o caminho do arquivo HTML para o diretório que contém base.js:

<script src="path-to-closure/dom/dom.js"></script>

Normalmente, uma única instrução goog.require() carrega somente uma fração da base de código da closure Library.

Observação: não coloque as instruções goog.require() na mesma tag de script que o ponto de entrada para o código que usa as classes ou classes goog.require. Uma chamada goog.require() adiciona código ao documento após a tag do script que contém a chamada. Por exemplo, este código funciona:

<script src="closure-library/closure/goog/base.js"></script>
<script>
  goog.require('goog.dom');
</script>
<script>
  var newHeader = goog.dom.createDom(goog.dom.TagName.H1);
</script>

A chamada goog.require() adiciona o código para goog.dom.createDom() imediatamente antes da tag de script que contém a linha var newHeader = goog.dom.createDom(goog.dom.TagName.H1).

Por outro lado, o código abaixo produz um erro:

<script src="closure-library/closure/goog/base.js"></script>
<script>
  // DON'T DO THIS.
  goog.require('goog.dom');
  var newHeader = goog.dom.createDom(goog.dom.TagName.H1);
</script>

Essa chamada goog.require() adiciona o código para goog.dom.createDom() em uma tag de script que não será interpretada até que uma chamada para goog.dom.createDom() já tenha sido feita.

Incluir base.js não é a única maneira de incluir o código da Biblioteca de interdição, mas é a maneira mais fácil de começar. Seja qual for a forma como você usa o código da biblioteca de interdição, você sempre vai usar goog.require() para declarar as partes necessárias.

Próximas etapas

O exemplo ilustra uma maneira de acessar apenas as partes da Biblioteca de fechamento necessárias, incluindo base.js na sua página da Web e chamar a função goog.require().

Para uso mais avançado, recomendamos o Compile Compiler para minificar o JavaScript em um único arquivo.