Я хочу получить решение для отправки данных датчика (с внешнего датчика) в 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
не работает.
Я не уверен, что я на правильном пути. Если кто-то может дать мне несколько советов, было бы неплохо получить информацию или рабочий пример. Так что я могу расширить свои знания в этой области.
В частности, я хочу, чтобы мои доказательства концепции работали, если это технически возможно. Любые советы приветствуются в примерах кода.