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.
dostać książkę "zamknięcie: ostateczny przewodnik" na temat surowych cięć, aby dowiedzieć się, jak działa goog.ui. – Evgeny
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