Читаоци попут вас помажу у подршци МУО. Када обавите куповину користећи везе на нашем сајту, можда ћемо зарадити провизију за партнере. Опширније.

ВебАссембли је једна од модерних технологија дизајнираних за покретање више језика у претраживачу са Јавасцрипт интероперабилности.

ВебАссембли (ВАСМ) је платформски независан формат бинарних инструкција за виртуелне машине засноване на стеку дизајниране као преносиви циљ компилације за програмске језике за рад у окружењима која омогућавају (тј. веб и сервер апликације).

Помоћу ВАСМ-а можете покренути неколико програмских језика, укључујући Го, у свом претраживачу и искористити функције језика. Такође, интероперишите са Јавасцрипт-ом на вебу.

Почетак рада са ВебАссембли-ом у Го

Го пружа првокласну подршку за коришћење ВебАссембли-а у вашим Го апликацијама, потребно је само да направите неколико конфигурација и преведете Го код у ВебАссембли.

Мораћете да направите неколико конфигурација да бисте транспилирали свој Го код у ВебАссембли. Мораћете да промените своју Го архитектуру

instagram viewer
ГОАРЦХ променљива окружења за васм и Го оперативни систем ГООС променљива до јс.

Покрените ову команду у терминалу вашег радног директоријума да бисте направили ове конфигурације.

Поставите ГОАРЦХ=васм ГООС=јс 

Следећи корак је да транспилирате свој Го код у ВебАссембли .васм фајл. Покрените ову команду да транспилирате своју маин.го датотеку у датотеку под називом либ.васм

го буилд -о либ.васм маин.го

Када покренете команду, наћи ћете а либ.васм у вашем радном именику.

Морате да копирате ВебАссембли датотеку која прати вашу Го инсталацију у свој радни директоријум да бисте извршили ВебАссембли датотеку са НодеЈС-ом на веб страници.

к.ч „$(го енв ГОРООТ)/мисц/васм/васм_екец.јс“ .

Команда копира васм_екец.јс фајл у ваш радни директоријум и служи као улазна тачка за вашу апликацију.

Сада можете користити васм_екец.јс скрипту за извршавање ваших ВАСМ датотека помоћу Го анд маке ДОМ АПИ позива.

чвор васм_екец.јс маин.васм

Покретање веб сервера за хостовање веб локације

Додајте овај код аутора Го у ХТМЛ датотеку у свом радном директоријуму да бисте инстанцирали ток података ВебАссембли-а са инстантиатеСтреаминг методом.


Ауторска права 2018спан> Тхе Го Аутхорс. Сва права задржана.Коришћење овог изворног кода је регулисанолиценцом у БСД стилу која се може наћи у датотеци ЛИЦЕНЦЕ.



"утф-8" />
Иди васм





ХТМЛ код је од Го Аутхорс, за инстанцирање ВебАссембли стрима који повезује ваш Го код са веб страницом.

Покретање веб сервера за покретање странице

Ти ћеш подесите сервер са хттп пакет. Увезите хттп пакет и Пријава пакет за евидентирање могућих грешака на конзоли.

увоз (
"Пријава"
"нет/хттп"
)

Можете декларисати променљиве за адресу сервера и директоријум датотека које желите да сервирате на адреси.

вар (
серверАддр = ":8080"
именик = "."
)

Можете користити ФилеСервер методом хттп пакет за послуживање датотека у одређеном директоријуму. Тхе ФилеСервер метода преузима директоријум и враћа инстанцу сервера датотека.

фунцглавни() {
сервеФилес := хттп. ФилеСервер (хттп. Директоријум (директоријум))
ако ерр := хттп. ЛистенАндСерве (серверАддр, сервеФилес); ерр != нула {
Пријава. Фаталн (ерр)
}
}

У главни функцију, декларисали сте променљиву инстанце сервера датотека за опслуживање датотека у основном директоријуму. Тхе ЛистенАндСерве метода опслужује датотеке у наведеном директоријуму на наведеном порту.

ВебАссембли функције у Го

Го пружа функционалност за позивање ЈС функција и интеракцију са ДОМ-ом у сисцалл/јс пакет.

Тхе јс пакет пружа приступ ВебАссембли хост окружењима на јс/васм архитектура. Мораћете да подесите своје развојно окружење на ГОАРЦХ=васм ГООС=јс да приступите и користите пакет.

Можете користити различите методе у пакету за интеракцију са својом веб страницом. Ево како можете да региструјете функције са јс пакет.

// дефиниција функције
фунцпринт(овај јс. Вредност, и []јс. вредност)интерфејс{} {
повратак јс. ВалуеОф (и[:])
}

Тхе принт функција при регистрацији као функција повратног позива ће избацити податке прослеђене функцији у конзоли претраживача.

Можете регистровати функције повратног позива помоћу Комплет методом Глобал методом јс пакет. Тхе Комплет метода узима идентификатор функције и инстанцу функције повратног позива.

фунцРегистерЦаллбацкФунцтионс() {
јс. Глобал().Сет("штампати", јс. ФунцОф(принт))
}

Тхе РегистерЦаллбацкФунцтионс метода региструје принт функција као функција повратног позива коју можете користити у конзоли претраживача.

ВебАссембли је експериментална функција на многим језицима, укључујући Го

Функције ВебАссембли-а су релативно нове за многе језике, посебно пошто је језик недавно постао В3Ц стандард. Тхе јс пакет је експерименталан, а пакет је изузет од обећања компатибилности са Го.