Я хочу импортировать модуль для одного из моих файлов. js и вызвать мой. js файл с Vaadin 14 . К сожалению, я борюсь с его импортом, и в браузере выбрасывается ReferenceError .
Мой взгляд:
@Route(value = "jstest", layout = MainView.class)
@PageTitle("jstest")
@JsModule("./sipcall.js")
@NpmPackage(value = "sip.js", version = "0.15.10")
public class SipJsTest extends Div {
private Button b;
public SipJsTest() {
b = new Button();
b.setText("Execute SIP.js");
b.addClickListener(listener -> {
Page page = UI.getCurrent().getPage();
page.executeJs("executesipcall()");
});
add(b);
}
}
sipcall. js (модуль назван так) расположен в frontend / sipcall.js / . Если я делаю простой вывод на консоль, функция вызывается правильно. Ошибка появляется, если я пытаюсь использовать импортированный модуль.
sipcall. js:
import "sip.js";
window.executesipcall = function() {
var ua = new SIP.UA(...) // from the imported module, throws exception
}
node_modules / sip.js / содержит модуль, который я импортируется с @ NpmPackage . Модуль также указан в пакете . json с "sip.js": "0.15.10"
.
Ошибка веб-консоли:
client-4FB121A4CC0177A1068809F06428A755.cache. js: 57 Uncaught ReferenceError: SIP не определен в window.executesipcall (vaadin-bundle-6b322b28264dafdccb46.cache. js: 4505) в Object.eval (eval в St (client-4FB121A4CC0177A1068809F064281 1046: 99.ache). 1: 1)
Есть идеи, почему Ваадин не признает импорт? Это потому, что он не импортируется в глобальном масштабе (здесь упоминается )?