Возможно, то, что я собираюсь спросить, является глупым, как правило, у меня нет такого опыта работы на стороне сервера.
Я создаю веб-приложение Angular, с nodeJS на стороне сервера.
Мне нужно, чтобы сервер (Node.exe) установил в само устройство (IOS/Android), а nodeJS откроет сокет localhost для связи с устройством.
(Согласно узлу JS официальный веб-сайт, nodeJS поддерживает только ОС Windows/Mac OS/Linux)
Возможно ли это сделать?
Если нет, в устройстве можно установить другой сервер?
То, что вы пытаетесь достичь, превращает ваше устройство в сервер.
Язык сервера на сервере должен оставаться на сервере. Я действительно не понимаю, почему вам нужно открыть сокет localhost на устройстве для связи с самим собой. Это для автономного тестирования? Вы можете это сделать, поскольку у вас есть компьютер и устройство, и оба подключены к одной сети. Я считаю, что действительно хорошим началом было бы понимание концепции архитектуры Client-Server в первую очередь.
Но, короче говоря, надлежащим способом внедрения приложения Client-Server с использованием выбранных вами технологий было бы: Сервер должен предоставить клиенту ответы на свои запросы. Таким образом, в Node.js(на стороне сервера) напишите все, что вы хотите связываться с вашей базой данных (создавать, читать, обновлять, удалять), выполнять пользовательскую обработку и т.д.... и верните структурированный ответ.
Клиент ожидает ответов на свои запросы и должен обрабатывать ответы в коде. Таким образом, программа, написанная в AngularJS (которая является вашим языком на стороне клиента), будет установлена на устройствах.
Клиент должен знать формат ответа сервера. Это простой текст? XML? JSON?...
значит, вы хотите, чтобы приложение могло запускать некоторые службы через http?
не уверен, что iOS позволяет приложению использовать JS-виртуальную машину...
и для Android
поиск в Github, и я нахожу, как строить NodeJS для Android
https://github.com/dna2github/dna2oslab/tree/master/android/build
Вот пример запуска скомпилированного двоичного файла Nginx на Android в https://github.com/dna2github/dna2mtgol/tree/master/fileShare
Вы можете изменить немного больше, чтобы заменить Nginx на NodeJS. Код для запуска Nginx не очень приятный; возможно, вы можете попробовать Android-сервис, чтобы сервер работал на бэкэнд на устройстве Android.
Надеюсь, это то, что вы хотите.
Да, вы можете с JXCore (fork nodejs), больше информации в этой ссылке www.huffingtonpost.com/brian-rinaldi/build-mobile-apps-with-ja_b_6786920.html репозиторий находится здесь: www.huffingtonpost.com/brian-rinaldi/build-mobile-apps-with-ja_b_6786920.html и как скомпилировать его здесь. github.com/jxcore/jxcore/blob/master/doc/HOW_TO_COMPILE.md
но если вам нужно, чтобы он был nodejs (а не последняя версия), вы можете использовать эту ссылку, чтобы делать то, что вам нужно www.goland.org/nodejsonandroid/
Я не понимаю, как использовать серверный инструмент на стороне клиента.
Если ваше приложение должно работать в автономном режиме, вы должны поместить все данные и другое в свое клиентское приложение (используя кордову).
Если ваше приложение работает в режиме онлайн, серверная сторона необходима для обслуживания ваших данных. Здесь вы можете настроить nodeJS API, который предоставляет маршруты для вашего приложения для печати содержимого.
Я не уверен, что привел вам желаемый ответ, так что может объяснить, как использовать серверный инструмент на клиентском устройстве?