Как определить файл JS, который содержит метод, который будет выполнен в HTML - PullRequest
0 голосов
/ 16 апреля 2020

Я работаю с примером проекта, который я обнаружил в inte rnet, и пытаюсь узнать, как вызвать простой метод onclick из одного button. Я попытался объявить это как:

HTML

        <button id="bt_connect" src="./js/example.js" onclick="mqtt_sub();">MQTT CONNECTION</button>

для вызова function, который я определил в ./js/example.js

function mqtt_sub() {
var mqtt = require('mqtt');
var client = mqtt.connect("url:1883"); // URL:port
var topic = 'testingtopic'

client.on('message', (topic, message) => {
    message = message.toString();
    console.log(message);
});

client.on('connect', () => {
    client.subscribe(topic);
    console.log("Connected!")
})

}

ОШИБКА

Uncaught ReferenceError: mqtt_sub не определен в HTMLButtonElement.onclick

Я знаю, что могу определить сценарий в файле HTML, но я не могу выполнить require()

Что я хотел бы знать, так это то, что мой код неверен, или он должен быть таким. Я хотел бы дважды проверить его, чтобы узнать, нужно ли мне заглядывать в мой код или я просто неправильно понял структуру моего проекта.

1 Ответ

2 голосов
/ 16 апреля 2020

Элемент кнопки не имеет атрибута sr c. Если вы хотите вызвать метод onclick с вашей кнопки, вам нужно вызвать функцию, определенную в самом файле JS.

Чтобы он распознал этот метод, вы можете добавить файл JS в скрипт тег перед закрывающим тегом тела.

<html>
  <head>...</head>
  <body>
   ....
  <script src="your_src"></script>
  </body>
 </html>
...