Загрузите socket.io со сборкой Android для Cordova - PullRequest
0 голосов
/ 13 января 2019

У меня есть небольшой проект приложения чата, который я создал с помощью node.js, express и socket.io. И установил эти модули с помощью npm. Приложение работает на рабочих столах, как и ожидалось. Я пытаюсь построить Android-версию приложения с Cordova. И когда я запускаю cordova run android, он открывает приложение на моем телефоне и загружает основной интерфейс без проблем, однако он действительно не работает (функции), и я получаю эту ошибку в удаленных устройствах консоли разработчика Chrome, когда я добавляю файл socket.io js, ​​например, в index.html

<script src="/socket.io/socket.io.js"></script>

socket.io.js: 1 Не удалось загрузить ресурс: net :: ERR_FILE_NOT_FOUND

Так как приложение работает на порту 3000 на локальном хосте , я попытался добавить скрипт socket.io js, ​​как это, в index.html

<script src="http://localhost:3000/socket.io/socket.io.js"></script>

И тогда возникает эта ошибка

Отказался от загрузки сценария 'http://localhost:3000/socket.io/socket.io.js', поскольку он нарушает следующую директиву политики безопасности содержимого: "script-src' self 'http://*' unsafe-inline '' unsafe-eval '".

Это метатег Content-Security-Policy

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' http://* 'unsafe-inline'; script-src 'self' http://* 'unsafe-inline' 'unsafe-eval'" />

1 Ответ

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

Если вы хотите импортировать файл socket.io из хранилища приложения, удалите первую косую черту и убедитесь, что файл присутствует в папке www.

Для проверки Android в платформах / android / app / src / main / assets / www содержимое этой папки является содержимым вашего приложения. Проверьте, присутствует ли ваш файл socket.io и указан ли правильный путь.

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