2010-03-30 9 views
9

Jeśli nie zależy Ci na minimalizacji kodu, czy istnieje sposób na rozpoczęcie korzystania z biblioteki Google Closure bez konieczności konfigurowania klienta subversion i korzystania z kompilatora? Przykładowy program Notatnik na stronie Google odnosi się dorozpoczęcie korzystania z Google Closure, jeśli nie zależy Ci na minimalizowaniu/kompilowaniu?

 
    <script src="closure-library/base.js" > </script > 

można po prostu pobrać zamknięcie-Library/base.js gdzieś i zacząć grać z przykładów UI? Wersja Closure Lite szybkiego uruchomienia nie wydaje się zawierać goog.ui

+2

dostać książkę "zamknięcie: ostateczny przewodnik" na temat surowych cięć, aby dowiedzieć się, jak działa goog.ui. – Evgeny

+1

nie będziesz w stanie nic zrobić w ogóle za pomocą samego base.js, możesz przez jakiś czas przejść bez kompilatora, ale wkrótce będziesz potrzebował kalkulatora zależności, ponieważ skrypty mogą być trudne i niełatwe w utrzymaniu . – Evgeny

Odpowiedz

4

Spójrz na this thread na grupie zamknięcie dyskusji.

Oto co moje źródło html z grubsza wygląda tak:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

<!-- style sheets --> 
<link rel="stylesheet" href="/m/myapp/css/style.css"> 

<!-- closure base --> 
<script type="text/javascript" src="/m/google-closure/closure/goog/base.js"></script> 

<!-- file containing dependencies specific to the project --> 
<script type="text/javascript" src="/m/myapp/my-deps.js"></script> 

<!-- main script of my application --> 
<script type="text/javascript" src="/m/myapp/main-script.js"></script> 

</head> 
<body> 

<div id="myapp_div"></div> 
<script type="text/javascript"> 
    load_myapp_into("myapp_div"); 
</script> 

</body> 
</html> 

Wpisz kod aplikacji i organizować je w dowolny sposób, jak w katalogu, który mapuje do /m/myapp URL. Konieczne jest tylko określenie głównego pliku skryptu. Pozostałe zostaną załadowane zgodnie z mapą zależności przez base.js.

Interesującą cechą zamknięcia jest to, że możesz przenosić i zmieniać nazwy plików w dowolny sposób, ponieważ kalkulator zależności określa, co pochodzi z miejsca.

Najważniejszą częścią jest obliczenie pliku zależności - my-deps.js tutaj. Nadal używam ich starego calcdeps.py, ale wygląda na to, że istnieje lepsze narzędzie o nazwie depswriter.

Po uruchomieniu calcdeps.py najprawdopodobniej będziesz musiał przepisać ścieżki wewnątrz wygenerowanego pliku deps, ponieważ te ścieżki muszą być względne do base.js.

Nawet jeśli nie interesuje Cię kompilator - jest to pomocne, ponieważ wskazuje na wiele błędów. W każdym razie używam kompilatora tylko do tego celu. Ponadto - zamknięcie bez kompilatora może być przydatne tylko przy debugowaniu, ponieważ rozmiar nieskompilowanego kodu może być ogromny.

Nie przechodź przez szablony zamknięcia - są naprawdę zadbane.

+0

dla skompilowanej wersji nie będziesz potrzebował base.js i my-deps.js - tylko skompilowany plik – Evgeny

2

Możesz spróbować plovr to narzędzie do budowania zaprojektowane do użytku z zamknięciem.

Zawiera wszystkie narzędzia do zamykania i bibliotekę, dzięki czemu można je ukryć w folderze projektu.

Zaletą tego narzędzia jest to, że można go używać jako serwera, dzięki czemu można rozwijać aplikację, a po ponownym załadowaniu strony kod zostanie skompilowany en i zostanie dostarczony do aplikacji.

Zabrało mi to około pół godziny, aby to zrozumieć i skonfigurować.

Powiązane problemy