Skip to content

Исходники

Alexey Krivonogov edited this page Mar 25, 2016 · 17 revisions

В данном разделе описывается организация исходных кодов Dcoin. Все изменения нужно заливать в ветку dev, она является рабочей веткой. В коммите необходимо указывать номер issue, которого касаются данные исправления, а issue нужно указать номер этого созданного коммита.

packages

Здесь расположены основные исходники на Go. Для работы рекомендуется использовать самый свежий релиз компилятора Go.

controllers - контроллеры, которые отвечают за вывод страниц в браузере. Имеется два основных модуля - content.go и ajax.go. Первый отвечает непосредственно за формирование и вывод страницы, а ajax.go обрабатывает ajax запросы.

emailserv - исходники промежуточного сервера для отправки сообщений через сервис sendpulse.

utils - пакет со вспомогательными функциями.

static

Здесь находятся все файлы, касающиеся front-end части, которую пользователь видит в браузере. Нужно учитывать, что Dcoin использует go-bindata модуль для встраивания всех этих ресурсов в dcoin.exe. Поэтому, все изменения здесь никак не будут отражаться в браузере при запуске программы. В случае изменений вам нужно каждый раз запускать go-bindata перед сборкой программы, но самое простое это использовать go-bindata в отладочном режиме, когда ресурсы не встраиваются в файл, а сервер обращается к файлам напрямую, как они есть. В этом случае, все изменения в static будут отображаться в браузере после простого перезапуска dcoin.exe. Установите удобным для вас способом модуль github.com/jteeuwen/go-bindata/ и откомпилируйте его.

Для перехода go-bindata в debug режим нужно выполнить примерно следующую команду:

go-bindata -o="packages/static/static.go" -pkg="static" -debug=true static/...

go-bindata создаст файл packages\static\static.go, где будут указаны полные пути к файлам в static. Заново вызывать go-bindata нужно только при добавлении новых файлов в static, или после того как вы загрузили новый packages\static\static.go с github.com.

Следует заметить, что все шаблоны в static\templates созданы по правилам package html\template и имеют соответствующий golang контроллер в packages\controllers.

Разное

Полезные ссылки

Clone this wiki locally