scalajs-bundler: какой скомпилированный файл должен быть включен в HTML?
Я пытаюсь обработать свои JS-зависимости с помощью scalajs-bundler для моего проекта Scala.js. Он успешно загружает мою зависимость (d3.js), но я не знаю, как включить мой код и зависимость в мой HTML-файл.
Я пробовал все файлы, которые я нашел на target/scala-2.12/
но это не сработало.
- с
target/scala-2.12/*-jsdeps.js
это не работает мой основной метод. - с
target/scala-2.12/scalajs-bundler/main/*-fastopt.js
я получилReferenceError: exports is not defined
в Firefox.
Я не хочу использовать фасад, это краткосрочный проект, и я планирую использовать js.Dynamic
,
Дополнительный вопрос: могу ли я по-прежнему использовать исходные карты с scalajs-bundler?
Благодарю.
2 ответа
Хорошо, проблема заключалась в том, что окончательный пакетный файл *-fastopt-bundle.js
(тот, который нужно включить) отсутствовал, и, видимо, это произошло из-за того, что webpack не удалось запустить из-за того, что пакеты npm ссылаются на node
(и не nodejs
в их шебанге
Таким образом, решение было установить nodejs-legacy
на Ubuntu.
Вам нужно будет включить оба *-jsdeps.js
и *-fastopt.js
,
*-jsdeps.js
содержит ваши зависимости, *-fastopt.js
содержит код Scala.js (и вызов main
метод, если вы включите scalaJSUseMainModuleInitializer
).