Создайте pwa, который прослушивает http-порт для запросов - PullRequest
0 голосов
/ 18 октября 2019

Я хочу получить решение для отправки данных датчика (с внешнего датчика) в pwa, который работает на смартфоне. Датчик должен использовать Wi-Fi, предоставленный смартфоном, и отправить запрос в pwa, который регистрирует их.

Чтобы доказать это, я хотел создать pwa, который прослушивает http-порт, куда я могу отправлять запросы. В настоящее время я бьюсь над вопросом, как http-сервер будет работать в pwa.

На основе этого урока Я могу создать http-сервер. Вот мой код

index.js

console.log('hello world again')
require('./app/index')

app / index.js

const http = require('http')
const port = 3000

const requestHandler = (request, response) => {
    console.log(request.url)
    response.end('Hello Node.js Server!')
}

const server = http.createServer(requestHandler)

server.listen(port, (err) => {
    if (err) {
        return console.log('something bad happend', err)
    }
    console.log(`server is listening on ${port}`)
})

package.json

{
  "name": "pwa-listener",
  "version": "1.0.0",
  "description": "do it listen?",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "keywords": [
    "pwa",
    "listen",
    "server"
  ],
  "author": "jerik",
  "license": "ISC",
}

Когда я начинаюэто в консоли с node start работает нормально. Но это не будет работать как PWA на смартфоне. Здесь я должен как-то интегрировать serviceworker.

Я попытался создать index.html, где я могу сослаться на manifest.json, а затем на serviceworker, но как-то это не сработало, и я думаю, что я должен попробовать его через index.js. Добавление html-состояний для manifest.json и включения serviceworker

Просто для завершения я попытаюсь запустить его с index.html:

index.html

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">

    <title>pwa listener</title>
    <link rel="manifest" href="manifest.json">
    <script src="index.js"></script>

</head>
<body>
    <h1 id="heading">test heading</h1>
</body>
</html>

Запуск сервера (не сервера node-js) и доступ к нему через http://localhost:8080 показывает мне index.html, но в консоли я получаю сообщение об ошибке: ReferenceError: require is not defined. Это имеет смысл для меня, поскольку node не работает.

ReferenceError: require is not defined

Я не уверен, что я на правильном пути. Если кто-то может дать мне несколько советов, было бы неплохо получить информацию или рабочий пример. Так что я могу расширить свои знания в этой области.

В частности, я хочу, чтобы мои доказательства концепции работали, если это технически возможно. Любые советы приветствуются в примерах кода.

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