«ReferenceError: <function>не определено» - модули javascript - PullRequest
0 голосов
/ 15 октября 2019

Когда я пытаюсь интегрировать скрипт type = "module" ... я получаю ошибку ссылки. Мои функции внутри скрипта "module" не найдены.

Я пытаюсь интегрировать принтер в существующую веб-страницу, функциональность принтера определяется в файле "bpac.js". Это модуль JavaScript, использующий экспорт. Я попытался использовать этот код в образце сайта, все работало нормально. Когда я использую свой код в существующем файле, я получаю сообщение об ошибке. Когда я не использую тег «module», все работает нормально, но тогда я не могу использовать функциональность, предоставляемую «bpac.js». У меня есть простая кнопка, которая при нажатии должна выполнить некоторую тестовую функцию.

<script type = "module">
import * as bpac from './bpac.js';

window.testfunc = async function testfunc() {


const doc = bpac.IDocument;
const pName = await doc.GetPrinterName();

console.log(pName);

 }

</script>

...
<button type="button" id="testen" onclick="testfunc()">test</button><br>
...

Когда я нажимаю кнопку, я получаю сообщение: Uncaught ReferenceError: testfunc не определен в HTMLButtonElement.onclick ((index): 1)

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

Почему бы вам не использовать addEventListener, чтобы добавить столько слушателей, сколько вы хотите?

  document.getElementById("testen").addEventListener('click',function () {
      console.log("Hello");
      // Add your logic inside this function
  }); 
0 голосов
/ 15 октября 2019

Вы объявляете функцию неправильно. Используйте это.

window.testfunc = async function() {

    const doc = bpac.IDocument;
    const pName = await doc.GetPrinterName();

    console.log(pName);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...