Добавление WebSocket на веб-сервер - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь добавить веб-сокет к своему веб-серверу, просто следуя этому руководству, используя Beaglebone: https://www.w3schools.com/nodejs/nodejs_raspberrypi_webserver_websocket.asp

Однако я получаю эту ошибку:

tugbars@beaglebone:~$ sudo node webserver1.js
/home/tugbars/node_modules/ws/lib/websocket.js:347
      ...options
      ^^^

SyntaxError: Unexpected token ...
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:549:28)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/tugbars/node_modules/ws/index.js:3:19)

Я думаю, что проблема в

<script src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/2.0.3/socket.io.js"></script>

этой части, но я не мог понять, как ее решить. Спасибо за помощь.

Дополнительная информация. Я загрузил socket.io как sudo. Когда я набираю npm list socket.io, я получаю версию установленного socket.io. Узел также в его последней версии.

1 Ответ

0 голосов
/ 13 января 2020

У вас почти наверняка есть устаревшая версия Node, в которой нет поддержки оператора распространения (foo = { ...options }) или деструктуризации (const { x, ...options } = foo). Обновление до новой версии Node (12.14.1 является последней стабильной версией).

Также вы упомянули «скачивание socket.io как sudo», возможно, ссылаясь на установку модуля узла, но вы также поделились тегом скрипта HTML, показывающим размещенную версию Cloudflare. Возможно, вы захотите убедиться, что понимаете, как вы загружаете эту библиотеку, прежде чем продолжить.

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