Vadim
Поищи по чату
Vadim
Много раз обсуждали, последний раз, где-то месяц назад
Илья
да, помогло, спасибо, не знал про такую настройку))
Илья
спасло от костылей
Melonges
всем привет, я новичок в десктопной разработке, но неплщхо знаю реакт, задам вопрос: при разработке приложения на mac os, большая вероятность того, что приложение будет хорошо работать на винде? Знаю про кросс-платформенность, но по сути это открывается хромиум и все? Вероятность того, что на винде просто будет месиво мала или нет?
Evgeniy
Что то может и сломаться но в целом больших проблем нету
Melonges
а в качестве statemanager что используете?
Melonges
ну и запросы на сервер, rest api все точно так же как и в браузере?
Melonges
axios можно юзать?
Melonges
localctorage c indexdb присутствует?
Данил
все, что присутствует в API хрома, версию которого можно посмотреть в process.versions, доступно на всех платформах
Данил
кроссплатформ означает, что при переходе между платформами ничего не поломается
Данил
если речь, конечно, не идет о каких-то специфичных методах апи электрона или Node.js
Melonges
понял, но архитектура приложения остается похожей как и сайты на реакте? я просто смотрю, так create-react-app не используется
Данил
архитектура приложения остается абсолютно такой же
Данил
просто у тебя 1) фиксированная версия хрома (не нужно костылить с кроссбраузерностью и можно юзать все новые фичи) 2) есть доступ к апи Electron и Node.js
Данил
только вот в браузере у тебя как-бы есть только Renderer процесс, а теперь добавляется еще и Main, в котором тебе необходимо самостоятельно запустить Renderer процесс
Melonges
понял, но доку сейчас смотрю, тут вообще реактом не пахнет. В доке нигде не импортируют реакт
Melonges
верстку описывают в html css, нет jsx
Данил
а какая собственно разница? здесь ты можешь так же юзануть вебпак и запускать на нем сервер с приложением и отдельно запускать электрон, который поднимется по запущенному серверу
Данил
тем более для тех, кто не хочет заморачиваться с собственными костылями, существуют готовые темплейты под electron и react одновременно
Melonges
ясно
Melonges
ну и последний вопрос, взаимодействие моего приложения с системой идет через node js или electron предоставляет большее api, чем node js?
Данил
это два разных апи и ты можешь юзать оба нода дает доступ ко всему своему функционалу электрон дает дополнительное апи системы и управления приложением
Melonges
и если на реакте это делать, то роутер-дома тоже есть?
Melonges
url нет
Данил
ммм урл есть, но он попросту не виден
Melonges
а ui библиотеки есть какие-нибудь для эектрона, как в react native?
Данил
а причем тут вообще react native electron - тот же браузер с тем же html, css и js
Ilvir
а ui библиотеки есть какие-нибудь для эектрона, как в react native?
Все как в браузере, можешь даже create react app использовать наверно. Я сам новичок. Написал прогу на vue, создал при помощи vue cli и только потом на электрон перетащил. Vuetify работал без проблем
Данил
я наверное единственный никогда не юзал ни *-cli, ни create-*-app (даже когда был нубом)
Vadim
я наверное единственный никогда не юзал ни *-cli, ни create-*-app (даже когда был нубом)
Стоит расширить кругозор, подобные инструменты позволяют создавать проекты, которые будет проще поддерживать. Например, если на проекте create-react-app, то сложностей со сборкой и разворачиванием не будет + получать новые фичи можно просто обновив версию CRA, без переписывания конфига. Соответственно, если есть возможность лучше всегда использовать вот эти черные ящики. Это не отменяет случаев когда нужно руками написать конфиги сборки, но это должно быть осмысленное решение, а не из-за незнания инструментов.
Забабурин
Добрый вечер. Подскажите пожалуйста, как дать доступ приложению на запись файла ? Я в preload.js файл поместил express Когда я запускаю собранное приложение, у меня появляется ошибка доступа к фалу. EACCES: permission denied, open '/usr/lib/words/resources/app/words.json' Есть ли возможность установить флаг, который бы разрешал эти действия ?
Vadim
Добрый вечер. Подскажите пожалуйста, как дать доступ приложению на запись файла ? Я в preload.js файл поместил express Когда я запускаю собранное приложение, у меня появляется ошибка доступа к фалу. EACCES: permission denied, open '/usr/lib/words/resources/app/words.json' Есть ли возможность установить флаг, который бы разрешал эти действия ?
1. В 99% случаев сервак в электроне поднимают просто так, даже когда в этом нет нужды. Стоит описать зачем тебе он вообще. 2. по правам доступа есть специальные либы для поднятия прав на выполнение команды. electron-sudo или как-то так, но не факт что тот кейс.
Забабурин
1. В 99% случаев сервак в электроне поднимают просто так, даже когда в этом нет нужды. Стоит описать зачем тебе он вообще. 2. по правам доступа есть специальные либы для поднятия прав на выполнение команды. electron-sudo или как-то так, но не факт что тот кейс.
Это простое приложение, должно выводить слова из json - а, без интернета. Но администрирование я через сервер удалённый сделал. app -> reverse tunnel -> web interface express имеет роуты на запись и чтение этого json файла. app.post('/list', (req, res) => { fs.writeFileSync(`${__dirname}/words.json`, JSON.stringify(req.body, null, 4), function(error){ if(error) { res.send({ status: "002", success: false, message: error }) } }); res.send({ status: "ok", success: true }) })
Vadim
С приложения?
Vadim
Хм, окей, тогда да, просто обычно на клиенте нет белого айпишника)
Vadim
)) я реверс тунель использую
Не сталкивался, но звучит интересно
Забабурин
Тогда только пункт 2
А мне получается комманду cat надо использовать ? Как мне правильно записать файл ? И что бы это под windows работало. sudoer.exec('cat ./words.json > ./test.json')
Забабурин
В аналогичной задаче ,я электроном поднимаю экспресс и принимаю запросы по апи для работы с файловой системой + create-react-app.
Спасибо, я сегодня оба варианта попробую. Electron root я вчера поставил, и cat меня бы вполне устроила команда, если под виндой это будет работать и пойму как комманду правильно записать.
Electron.js releases
v14.0.0-nightly.20210315 https://github.com/electron/electron/releases/tag/v14.0.0-nightly.20210315 v14.0.0-nightly.20210315
Electron.js releases
v13.0.0-beta.5 https://github.com/electron/electron/releases/tag/v13.0.0-beta.5 v13.0.0-beta.5
Забабурин
Тогда только пункт 2
А других способов нет например отключить защиту или что то подобное ? Это какие то костыли и не работающие
Electron.js releases
v11.4.0 https://github.com/electron/electron/releases/tag/v11.4.0 v11.4.0
Electron.js releases
v10.4.1 https://github.com/electron/electron/releases/tag/v10.4.1 v10.4.1
Vadim
Спасибо. Я нашёл как это красиво сделать.
Я думаю стоит написать, чтобы потом ссылаться на ответ)
Ilvir
Привет, а можно репозиторий глянуть?
Привет. В remote не заливал. Чисто испытывал возможности. Давай через пару часов залью и напишу
Electron.js releases
v14.0.0-nightly.20210316 https://github.com/electron/electron/releases/tag/v14.0.0-nightly.20210316 v14.0.0-nightly.20210316
Strike
Народ, помогите пожалуйста, не в одном чате не отвечают, проблема такая:
Strike
Anonymous
Объяви переменную до db.serialize
Anonymous
не помогает
Что пишет?
Anonymous
Но ведь у тебя асинхронные функции, тебе нужно в коллбеке передать переменную
Илья
var arrayS = [] до db объяви потом вместо var arrayS = row пропиши arrayS.push(row)
Сергей
Сергей
Сергей
Всем привет! Может кто подсказать как нынче подключается redux devtools к electron? Пробовал через electron-devtools-installer и session.defaultSession.loadExtension. В обеих случаях получаю ошибки в консоли. Расширение вроде и работает, но до первого решреша окна "No store found. Make sure to follow the instructions."
Den
зальешь?
Я с вуе пробовал https://github.com/pravosleva/electron-vue-boilerplate-2019
Ilvir
О, спасибо
надо еще?) заработался
Ilvir
сейчас
Strike
Что пишет?
переменная пустая
Strike
var arrayS = [] до db объяви потом вместо var arrayS = row пропиши arrayS.push(row)
Выдает такой странный массив Array(1) 0: Array(10) 0: {id: 1, info: "Ipsum 0"} 1: {id: 2, info: "Ipsum 1"} 2: {id: 3, info: "Ipsum 2"} 3: {id: 4, info: "Ipsum 3"} 4: {id: 5, info: "Ipsum 4"} 5: {id: 6, info: "Ipsum 5"} 6: {id: 7, info: "Ipsum 6"} 7: {id: 8, info: "Ipsum 7"} 8: {id: 9, info: "Ipsum 8"} 9: {id: 10, info: "Ipsum 9"} length: 10 proto: Array(0) length: 1 proto: Array(0)
Илья
как это можно сделать?
если ни разу не сталкивался с async, await, то объяснить думаю будет сложно
Strike
db.all('SELECT rowid AS id, info FROM lorem', function (err, row) { console.log(row); }); выдает массив }
Strike
Array(10)