Vadim
Поищи по чату
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
Данил
я наверное единственный никогда не юзал ни *-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
Забабурин
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
Это простое приложение, должно выводить слова из 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')
Den
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
Забабурин
marker dao ®
marker dao ®
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
Strike
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."
marker dao ®
Den
зальешь?
Я с вуе пробовал
https://github.com/pravosleva/electron-vue-boilerplate-2019
marker dao ®
Strike
marker dao ®
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)
Илья
Выдает такой странный массив 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)
ну вот же ты получаешь из базы строчки
Strike
db.all('SELECT rowid AS id, info FROM lorem', function (err, row) {
console.log(row);
}); выдает массив
}
Strike
Array(10)