Как использовать функцию nodejs для использования в кнопке в html для использования Joohny Five? - PullRequest
0 голосов
/ 12 марта 2020

Я создаю сервер, используя nodejs с express

сервером. js

const express = require('express');
const app = express();
const path = require('path');
const router = express.Router();
router.get('/',function(req,res){
  res.sendFile(path.join(__dirname+'/index.html'));
  //__dirname : It will resolve to your project folder.
});
//----------------------------------------------------------------------
//add the router
app.use(express.static(__dirname + '/View'));
//Store all HTML files in view folder.
app.use(express.static(__dirname + '/Script'));
//Store all JS and CSS in Scripts folder.
app.use('/', router);
app.listen(process.env.port || 3000);

И использую html с javascript ,

index. html

<html>
    <head>
        <meta charset="utf-8"/>
    </head>
    <link rel="stylesheet" href="./index.css">
    <script type="text" src="./server.js"></script>
    <script src="./index.js"></script>
    <body>
        <h1>Automatico</h1>
        <button onclick="autohabilitar();">Habilitar</button>
        <button onclick="autodeshabilitar();">deshabilitar</button>
        <br>
        <h1>Foco-1</h1>
        <button onclick="f1habilitar();" id="f1h">Habilitar</button>
        <button onclick="f1deshabilitar();"id="f1d">deshabilitar</button>
</body>
</html>

index. js

   document.getElementById("f1h").disabled=true;
   document.getElementById("f1d").disabled=true;
}

function autodeshabilitar(){
    document.getElementById("f1h").disabled=false;
    document.getElementById("f1d").disabled=false;
}

function f1habilitar(){
    document.getElementById("f1h").disabled=true;
    document.getElementById("f1d").disabled=false;
}

function f1deshabilitar(){
    document.getElementById("f1d").disabled=true;
    document.getElementById("f1h").disabled=false;
}

Мне нужна функция

function apagarf1(){
  led1.off();
}

, расположенный на сервере. js для использования при нажатии кнопки ... Я попытался экспортировать функцию, импортировать скрипт в html, использовать johnny- пять в другом сценарии ...

1 Ответ

0 голосов
/ 12 марта 2020

Я не очень знаком с Джонни 5. Но я знаю, что вы не можете получить доступ к node.js конкретному c материалу из браузера.

Лучше всего будет настроить конечную точку базового c api в express, которую вы вызываете из своего кода переднего плана. Когда эта конечная точка будет нажата, вы можете активировать функцию nodejs, чтобы отключить светодиод.

В файле вашего сервера добавьте следующее:

app.get('/led-off', (req, res) => {

  apagarf1()

  return res.send('LED off');

});

В вашем интерфейсе выполните вызов fetch () для этой конечной точки, и это должно сработать.

...