Danila
А чем вас смущает использование babel?
Dmitry
А чем вас смущает использование babel?
Если он не нужен, то нет смысла его использовать
Vadim
Если он не нужен, то нет смысла его использовать
Есть, только не сам бабель, а с минификаторами.
Vadim
Банально быстрее будет работать
Dmitry
Есть, только не сам бабель, а с минификаторами.
Минификатор и может даже обфускатор конечно нужен. Согласен
Dmitry
Банально быстрее будет работать
Бенчмарки есть в качестве доказательства? Потому что логика подсказывает, что даже если это так, то прирост производительности не должен быт существенным.
Vadim
Буду за компом накопаю
Nikita
Банально быстрее будет работать
с бандлом наверно имеешь ввиду?
Vadim
Да, полный комплект, использовать что-то одно не вижу смысла)
Vadim
Отдельно считать трудно
Vadim
А так вообще все однозначно
Nikita
насчёт бандла – прирост точно будет, даже без замеров. require медленный а насчёт минификации вопрос за v8
Vadim
насчёт бандла – прирост точно будет, даже без замеров. require медленный а насчёт минификации вопрос за v8
Да в любом случае парсинг быстрее будет после минификатора, а бабель настраивать нужно на конкретный таргет электрона
Vadim
Тогда не будет оверхеда
Vadim
Да и вообще, flat есть точно в 4 электроне, с 1 на нее легко подняться, а вот дальше уже могут быть сложности(если есть нативные модули)
Dmitry
Да в любом случае парсинг быстрее будет после минификатора, а бабель настраивать нужно на конкретный таргет электрона
Почему парсинг будет быстрее? Код есть код. Или это из-за удаления из дерева лишних "пустых" элементов?
Vadim
Почему парсинг будет быстрее? Код есть код. Или это из-за удаления из дерева лишних "пустых" элементов?
Если вы не про дом дерево, то респект. 1) это удаление неиспользуемого кода, лучше если с помощью tree shaking, как вы и сказали 2) Всегда нужно понимать что у юзера медленная машина и чтение данных с старого HDD + распаковка данных из asar тоже накладные ресурсы, поэтому, чем меньше букаф тем быстрее начнет исполнятся. 3) минификаторы умеют в оптимизации, экономия на коробке спичек не нужна, а минификатор может это делать везде, ведь ему не важна читабельность.
Horus
Привет. Установил вью с электроном, добавил файрбейс и вышло такое предупреждение. Добавил правило в конфиг вебпака и вышла ошибка. Хелпаните, не могу разобраться в чём проблема
Horus
Horus
Horus
Импортирую файрбейс в main.js
Anonymous
Импортирую файрбейс в main.js
Вот вроде тут показывают как правильно юзать его https://medium.com/firebase-developers/using-firebase-in-electron-tips-and-tricks-24ac5b44bf5a
Electron.js releases
v9.0.0-nightly.20200128 https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200128 v9.0.0-nightly.20200128
Slava
Привет. Собираю апп с помощью electron-builder. Само приложение использует puppeteer, которому нужен Chromium. Во время девелопмента все ок, но Chromium не билдится вместе с puppeteer'ом (что логично), потому после билда puppeteer бросает ошибку, что Chromium'а нет. Знаю, что у puppeteer при создании браузера есть параметр executablePath, куда можно передать путь к браузеру, но приложение делаю под виндовс, где путь к браузеру может быть абсолютно любой. То есть нужно как-то получить бразуер для puppeteer'а. Какие, по-моему, есть варианты (расставил по приоритетности): 1. Добавить Хромиум в билд (взять его из node_modules, например). 2. Устанавливать Хромиум при установке самого приложения. 3. Автоматически находить путь к уже установленному Хрому и вставлять его в executablePath поле. 4. Просить пользователя вручную указать путь к установленному Хрому и вставлять его в executablePath поле. Если что, я не знаю, как реализовать 1-3 варианты. Может, кто станкивался с подобным, и может подсказать, как решить проблему. Спасибо
Electron.js releases
v9.0.0-nightly.20200129 https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200129 v9.0.0-nightly.20200129
Electron.js releases
v8.0.0-beta.8 https://github.com/electron/electron/releases/tag/v8.0.0-beta.8 v8.0.0-beta.8
Андрей
Привет. Собираю апп с помощью electron-builder. Само приложение использует puppeteer, которому нужен Chromium. Во время девелопмента все ок, но Chromium не билдится вместе с puppeteer'ом (что логично), потому после билда puppeteer бросает ошибку, что Chromium'а нет. Знаю, что у puppeteer при создании браузера есть параметр executablePath, куда можно передать путь к браузеру, но приложение делаю под виндовс, где путь к браузеру может быть абсолютно любой. То есть нужно как-то получить бразуер для puppeteer'а. Какие, по-моему, есть варианты (расставил по приоритетности): 1. Добавить Хромиум в билд (взять его из node_modules, например). 2. Устанавливать Хромиум при установке самого приложения. 3. Автоматически находить путь к уже установленному Хрому и вставлять его в executablePath поле. 4. Просить пользователя вручную указать путь к установленному Хрому и вставлять его в executablePath поле. Если что, я не знаю, как реализовать 1-3 варианты. Может, кто станкивался с подобным, и может подсказать, как решить проблему. Спасибо
https://www.npmjs.com/package/puppeteer-in-electron
Electron.js releases
v7.1.11 https://github.com/electron/electron/releases/tag/v7.1.11 v7.1.11
Electron.js releases
v8.0.0-beta.9 https://github.com/electron/electron/releases/tag/v8.0.0-beta.9 v8.0.0-beta.9
Slava
https://www.npmjs.com/package/puppeteer-in-electron
Спасибо. Но с помощью этого пакета страница рендерится внутри окна электрона, а мне нужно чтобы в окне электрона отображался юзер-интерфейс, а puppeteer отдельно работал, в фоне. Я работаю с ним (с puppeteer'ом) в renderer процессе
Danila
offscreen window он не поддерживает?
Slava
offscreen window он не поддерживает?
puppeteer-in-electron? Насколько понимаю, нет
Danila
Вы проверяли?
Danila
пробовали передать ему BrowserWindow с offscreen: true?
Danila
с точки зрения puppeteer разницы никакой нет
Slava
нет, не проверял, сейчас сделаю. Спасибо за совет
Electron.js releases
v9.0.0-nightly.20200130 https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200130 v9.0.0-nightly.20200130
Tim
Добрый вечер, не подскажите как можно воспроизводить аудио файлы ?
Tim
А ещё есть вариантами средствами js?
Илья
Андрей
Кто сталкивался с закрытием приложухи на маке? На винде закрывает и в тестовой и в билд версии хорошо, на маке выдаёт что приложение неожиданно закрыто, хотя метод закрытия стандартный, все ресурсы перед закрытием вроде бы закрываю. В чем может быть проблема или нюансы на маке?
Андрей
кстати было такое, но не помню как пофиксили
А как бы узнать хоть в какую сторону копать?
Nikita
А как бы узнать хоть в какую сторону копать?
ну у нас такое проявлялось после какого-то периода работы приложения. было похоже на утечки, возможно они были в нативном модуле и его починили, а может еще что там было. но на клиентской части вроде бы не трогали
Anonymous
Конкретно iohook
Андрей
Конкретно iohook
Я его перед закрытием останавливаю.
Андрей
Конкретно iohook
Там unregisterAllShortcuts и stop, или другая последовательность?
Андрей
Конкретно iohook
Спасибо) поборол) выгружать нужно было, хотя в документации этого метода вообще не написано.
Андрей
👍
Electron.js releases
v9.0.0-nightly.20200131 https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200131 v9.0.0-nightly.20200131
Electron.js releases
v8.0.0-beta.10 https://github.com/electron/electron/releases/tag/v8.0.0-beta.10 v8.0.0-beta.10
Ростислав ✚
Здравствуйте, наверное глупый вопрос. Я так понял electron делится на разные процессы, есть процесс с браузером где окружение это хромиум, ещё какие-то, и есть основной, нодовский. Как делается взаимодействие между этими процессами? Как что-то передать, или запустить функцию с хромиума в основном процессе?
Завтра
ipc
Ростислав ✚
ipc
Спасибо, то что нужно
Electron.js releases
v9.0.0-nightly.20200201 https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200201 v9.0.0-nightly.20200201
Horus
Привет. Использовать firebase для разграничения прав пользователя в электроне это не лучшая идея? Установка firebase-admin на клиентское приложении такое себе
Ростислав ✚
Здравствуйте. Какой-то странный баг у меня, всё работало норм, но когда я добавил в код process.env['INIT_CWD'] то приложение начало компилится с ошибкой, но прикол в том что даже когда я всё откатил, убрал эту строку, ошибка не изменилась, компилю в dev режиме. ReferenceError: process is not defined - index.html:100 C:/nodePro/reestrTZ/client/src/index.html:100:10 - index.html:103 ./node_modules/html-webpack-plugin/lib/loader.js!./src/index. html.module.exports C:/nodePro/reestrTZ/client/src/index.html:103:3 - index.js:284 [client]/[html-webpack-plugin]/index.js:284:18 - task_queues.js:94 processTicksAndRejections internal/process/task_queues.js:94:5
Ростислав ✚
Ещё до ошибки выводил process целиком и всё было нормально.
Ростислав ✚
Electron.js releases
v9.0.0-nightly.20200202 https://github.com/electron/electron/releases/tag/v9.0.0-nightly.20200202 v9.0.0-nightly.20200202
Ростислав ✚
Подскажите, должно ли виснуть окно, если под нагрузкой основной процесс а не процесс хромиума?
Vadim
Да, в доке есть раздел оптимизация, советую почитать. @GeizenbergUSA
Andrey
Всем привет, подскажите как использовать пакет fs с электроном в связке с vue.js? Задача такая, загрузить json файл(путь уже есть). Пытался сделать так: const fs = require('fs') и далее const { expertises: tableData } = fs.readFileSync('@/src/data.json'); Но пишет ошибку: Error in created hook: "TypeError: fs.readFileSync is not a function"
Andrey
да, так же пытался через import
Andrey
Подключаю электрон через url 127.0.0.1:8080 (вдруг тут особенности какие то будут)
Vadim
Всем привет, подскажите как использовать пакет fs с электроном в связке с vue.js? Задача такая, загрузить json файл(путь уже есть). Пытался сделать так: const fs = require('fs') и далее const { expertises: tableData } = fs.readFileSync('@/src/data.json'); Но пишет ошибку: Error in created hook: "TypeError: fs.readFileSync is not a function"
Если нужно считать json, то лучше это делать как подсказывают выше через импорт самого json, а вот если он динамически изменяется, тогда нужно включить интеграцию с NodeJS, в конфиге при ините окна webPreferences nodeIntegration в значение true
Andrey
Но потом мне его надо будет сохранить, поэтому пытаюсь понять как работать с файлами тут
Andrey
уже пробовал
Георгий
да, так же пытался через import
Зачем? Сделай это на стороне ноды, с фронта сделай запрос и все. Либо прям сделай импорт без fs, если под капотом есть вебпак он сам просто вставит это в js