Посмотрите на эту ветку в закрытой группе обсуждения.
Вот как примерно выглядит мой HTML-источник:
<!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>
Напишите код своего приложения и организуйте его любым удобным способом в каталоге, который соответствует /m/myapp
url. Нужно только указать основной файл скрипта. Остальные будут загружены в соответствии с картой зависимостей на base.js
.
Интересная особенность закрытия заключается в том, что вы можете перемещать и переименовывать файлы любым удобным вам способом, поскольку калькулятор зависимостей определяет для вас, что и откуда.
Самая важная часть - это вычисление файла зависимостей - my-deps.js
здесь. Я все еще использую их старый calcdeps.py
, но похоже, что есть лучший инструмент под названием depswriter
.
После запуска calcdeps.py
вам, скорее всего, придется переписать пути внутри сгенерированного файла deps, потому что эти пути должны быть относительно base.js
.
Кроме того, даже если вы не заинтересованы в компиляторе - он полезен, поскольку указывает на множество ошибок. В любом случае я использую компилятор только для этой цели. Также - закрытие без компилятора может быть полезно только для отладки, поскольку размер загружаемого некомпилированного кода может быть огромным.
Не проходите мимо шаблонов закрытия - они действительно аккуратные.