Feruz
Feruz
Feruz
?
Георгий
?
Со скринами легче не стало, ты просто перенес экзешник на другой комп?
🅰️nimeCoder
вытягивать инфу с тебя никто не будет чел
🅰️nimeCoder
добавляй логи в разных местах, выводи лог в консоль запуская exe через cmd / ps ну и браузера логи смотри, грузит ли там чо если он вообще окно открывает
Feruz
с помощью этой команды же я build делаю верно? npx electron-builder --win
🅰️nimeCoder
с помощью этой команды же я build делаю верно? npx electron-builder --win
есть многие вещи которые работают после билда не так, как работают в деве
🅰️nimeCoder
есть многие вещи которые работают после билда не так, как работают в деве
всякие экстра ресурсы, пути к ним, дев сервер статики, рабочая директория и др
🅰️nimeCoder
окей с помощью этой команды верно?
еслиб было неправильно , оно бы не собрало
Feruz
вот как видите build был Moxi Client Setup 1.0.0.exe я это кидаю себе в винду и не получается просто открыть
Feruz
всякие экстра ресурсы, пути к ним, дев сервер статики, рабочая директория и др
прога без ошибок работает все супер пути и тд все хорошо
Feruz
а вообще процесс правильно делаю?
Feruz
верный файл кидаю же?
Feruz
значит верный
Feruz
вот как видите я запустил все супер
Feruz
Feruz
Feruz
Георгий
с помощью этой команды же я build делаю верно? npx electron-builder --win
Архитектуру проца нужно указывать ещё, под который будет установочник собираться
Паша
Привет! Сюда можно выкладывать вакансии? Сейчас ищем человека с опытом React от 3-х лет + опытом Electron в одну из крупнейших компаний РФ 🙂
Фёдор
Привет! Сюда можно выкладывать вакансии? Сейчас ищем человека с опытом React от 3-х лет + опытом Electron в одну из крупнейших компаний РФ 🙂
У меня в Electron нет опыта но приличные скиллы в react-native - могу резюме закинуть если серьезно настроены
Nikolay Dimitriev
Я запускаю установку новой версии приложения myApp Setup 1.0.6.exe, но если при этом уже было запущено приложение предыдущей версии, то выскакивает ошибка: "не удалось закрыть myApp. Пожалуйста, закройте myApp вручную и нажмите Повторить, чтобы продолжить". Если вручную закрыть старое приложение и нажать повторить, то установка продолжается и устанавливается корректно. Хотелось бы чтобы приложение закрывалось само если запущена установка новой версии. Собираю просто с помощью команды "build": "electron-builder", Путь установки по умолчанию '$LOCALAPPDATA\Programs\myApp\' electron-builder.json: ` { "appId": "com.myapp.app", "productName": "myApp", "directories": { "output": "dist" }, "win": { "target": "nsis", "icon": "app/img/icon-256.png" } } `
Георгий
А вообще, если клиент новую версию получает через автообновления, то там всё само по себе произойдет
Nikolay Dimitriev
А вообще, если клиент новую версию получает через автообновления, то там всё само по себе произойдет
Пока клиент получает новую версию в виде экзешника, до автообновления ещё далеко.
Nikolay Dimitriev
Я попробовал сделать вот так: { "appId": "com.myApp.app", "productName": "myApp", "directories": { "output": "dist" }, "win": { "target": "nsis", "icon": "app/img/icon-256.png" }, "nsis": { "include": "installer.nsi" } } И installer.nsi: Section "Kill Process" nsExec::ExecToLog 'taskkill /IM "myApp.exe" /F' SectionEnd Всё заработало! @GeorgKrom, cпасибо!
Andrey
Всем привет Подскажите localStorage работает в electron?
Dmitry
Всем привет Подскажите localStorage работает в electron?
Он работает в браузере, который встроен в приложение на Electron.
Rewrite
Всем привет Подскажите localStorage работает в electron?
В renderer да В main можно использовать библиотеки, такие как electron-store
дядя
В renderer да В main можно использовать библиотеки, такие как electron-store
можно с IPC управлять localStorage через main, как вариант 🤔
🅰️nimeCoder
можно с IPC управлять localStorage через main, как вариант 🤔
С учётом простоты LocalStorage проще всего вообще все делать через main по ipc 3 методами
Диня
,
Диня
Упс, в кармане нажал ☺️
VLAD BO
Приветствую друзья, подскажите, хочу обновлять данные в режиме real-time, из div должно выходить значение (без нажатия на кнопки и без обновление страницы), не хочу ставить каждый раз setInterval(). C помощью soket.io это возможно будет сделать ?
Mora
Если у тебя сервер отдает данные по вебсокетам, то ты их через клиент вебсокета только и получишься
Mora
Если https то только интервалить
VLAD BO
VLAD BO
Только начал изучать доки ..
VLAD BO
пока только через innerHTML вывожу данные , но это одноразово, либо страницу обновлять либо setInterval()
VLAD BO
изучаю чего не хватает для обновления
ALΣX
пока только через innerHTML вывожу данные , но это одноразово, либо страницу обновлять либо setInterval()
1) сокеты настроить в мейн процесе 2) связать мейн с рендерером через IPC 3) рендерер (UI) настроить отлавливать изменения приходящее по каналам IPC и обновлять контент на странице
Rus
всем привет. сделал приложение. фронтенд на reactjs, бэкенд на nestjs + sqlite. фронтенд смог упаковать в electronjs. подскажите как упаковать бэкенд в electronjs?
Sergey
запустить nestjs в main процессе
Rus
запустить nestjs в main процессе
точно, что то слышал про такое, пойду искать. но точно не знаю как делать. если есть подробная инструкция - буду признателен.
VLAD BO
Вебсокеты или пулинг
А в чем разница ?
Георгий
А в чем разница ?
Сокеты - постоянное соединение с серваком. Лонг пулинг - дефолт запрос на сервер, ответ на который будет держаться в статусе ожидания получения ответа до тех пор, пока у сервака не будет данных, отличающихся от предыдущего ответа
Георгий
После того, как сервак выдал ответ, ты кидаешь новый запрос тут же и снова ждешь ответ, ну и так по кругу
VLAD BO
Если у тебя сервер отдает данные по вебсокетам, то ты их через клиент вебсокета только и получишься
Либо я пока не добрался в доках , либо не догоняю. Данные вообще меняются каждые 2-3 сек , увеличиваются на единицу. Сейчас вот как происходит , я сначала записываю данные в div , далее считываю эти значение и кидаю на сервак , сервак отдает соответственно те же данные которые кинул клиент , эти же данные которые получил на клиенте снова записываю в div , но ничего не обновляется , пока я сам не обновлю страницу , получится если только ставить интервалы, что не так делаю ?
VLAD BO
По сути происходит сейчас что я говорю привет , а жду от сервака здравствуйте На клиенте тогда как обновить данные ? Только интервалы ? Может я изначально не понял роль socket
VLAD BO
Делаю для себя , не для общего пользования. Тогда могу вообще все обрубить , вкл nodeIntegration , и интервалы ставить сразу в каждой функции. И по сути получится тоже самое
ALΣX
Либо я пока не добрался в доках , либо не догоняю. Данные вообще меняются каждые 2-3 сек , увеличиваются на единицу. Сейчас вот как происходит , я сначала записываю данные в div , далее считываю эти значение и кидаю на сервак , сервак отдает соответственно те же данные которые кинул клиент , эти же данные которые получил на клиенте снова записываю в div , но ничего не обновляется , пока я сам не обновлю страницу , получится если только ставить интервалы, что не так делаю ?
С помощью сокета ты создаёшь real-time соединение с сервером. На примере элементарного чата: во время подключения пользователей к серверу ты подключаешь их к определённой комнате. Когда кто-то из клиентов пишет сообщение и отправляет его на сервер через сокет, сервер сообщает всем участникам комнаты, что произошли изменения, и нужно показать обновлённую информацию и сервер отправляет сообщение всем участникам комнаты с текстом сообщения от пользователя, которое нужно отобразить на на экране.
Vladislav
Делаю для себя , не для общего пользования. Тогда могу вообще все обрубить , вкл nodeIntegration , и интервалы ставить сразу в каждой функции. И по сути получится тоже самое
Сокет это по большей части для передачи данных клиент/сервер (сервер/клиент), а не для обновления страницы. Если хочешь динамику то проще использовать что-то вроде react/vue. Либо при прослушке событий: <script src="https://cdn.socket.io/4.0.1/socket.io.min.js"></script> ```js const socket = io('http://localhost:4000'); // Получение элемента с ID 'div_id' const div = document.getElementById('div_id'); // Прослушивание события 'chat message' socket.on('chat message', (msg) => { // Обновление содержимого div div.innerText = msg; // или div.innerHTML = msg; }); `
Vladislav
Можешь ссылку на gist с кодом скинуть глянем/поможем
Vladislav
Только код в тг не скидывай пздц его с телефона как неудобно читать.
VLAD BO
VLAD BO
В течении пару часов скину , спасибо !
VLAD BO
Я пишу торгового бота , связанно это с блокчейном , в примере будет всего 1 строка кода , номер текущего блока в сети BSC обновляется каждые 3 сек
Vladislav
В течении пару часов скину , спасибо !
Только норм скрины кидай, а не через телефон сфотканные😂
VLAD BO
Да пришлю , я имею ввиду что одна строка это откуда берётся значение само
Vladislav
И вообще если у тебя вопросы касаемо Node.Js то проще задавать их в @nodejs_ru, но там обитают пздц какие агрессивные особи, могут заразить бешенством 😂 Если базовые вопросы, по типу того что ты щас обсуждаешь то тебе в @js_ru В этом же чате обсуждают что касается electron.js библиотеки и сборки апликух...
Vladislav
А просто SSE не подойдёт?
Тут нет разницы что использовать, тот-же fetchApi да хоть такого старика как XMLHttpRequest / Ajax. Проблема не в получении данных у него а в обновлении DOM элемента.