Вопросы с тегами [electron]

3

голосов
1

ответ
29

Просмотры

Как размыть электронный BrowserWindow с прозрачностью

Вопрос Можно ли сделать BrowserWindow, в электроном, прозрачный с размытием? В том, что она размывает все фоновое содержание, включая приложения и обои. И если возможно, то как бы я это сделать? Примеры Вот код, который я пробовал. index.js: пусть выигрыш = новый BrowserWindow ({полноэкранного режим: правда, fullscreenable: ложь, РАМА: ложный, skipTaskbar: истина, изменяемого размера: ложь, движимое ложь, шоу: ложный, AlwaysOnTop: правда, прозрачен: истинный}) стиль. CSS: HTML, тело {ширина: 100vw; высота: 100vh; Маржа: 0; обивка: 0; фоновый цвет: RGBA (0, 0, 0, 0,5); Цвет: RGB (255, 255, 255); фон-фильтр: размытие (4px); } HTML-это просто тело с тегом h1 с текстом в нем. Хотя это создает только черный фон в окне. Я что-то об этом читал: webPreferences: {ЭкспериментальныеВозможности: истинно} Но не могу заставить его работать. Окружающая среда Ubuntu: 18.04.2 Node: v10.15.3 НПМ: 6.4.1 i3wm. 4.14.1 У меня Комптон работает. Maybey он должен делать с этим. Или композитинга двигатель вообще? Заранее спасибо!
Emil Walser
1

голосов
1

ответ
540

Просмотры

Электронно-строитель не может построить обновления для ОС Windows

Я не в состоянии построить обновление с электронно-Builder и Белком для тестового приложения. Проблему я думаю, что вино не находит 7z.exe файла. Вот часть ошибки, что я думаю, что это главная проблема: Полезность: Не удалось извлечь файл /Users//developer/electron-examples/installer-and-auto-update/dist/squirrel-windows/electronquickstart-1.0.0- full.nupkg к /Users//.local/share/SquirrelTemp/tempa вина: не могу найти L "C: \\. \\ system32 окна \\ 7z.exe" Я попытался установить 7-Zip x64 и x86. Я даже попытался установить его в C: / Windows / System32 /. Сборка для Windows, на MacOS. package.json { "имя": "electronquickstart", "версия": "1.0.1", "Описание": "Минимальное приложение Electron", "главный": "./app/main.js", "сценарии" : { " nupkg --releaseDir / Users // разработчик / электрон-примеры / Установщик-и-автообновления / DIST / короткозамкнутым окна 2017-12-27 16:45:21> Полезность: Не удалось извлечь файл / Users // разработчик / электрон-примеры / установщик-и-автообновление / расстояние / короткозамкнутым окно / electronquickstart-1.0.0-full.nupkg для /Users//.local/share/SquirrelTemp/tempa вина: не могут найти L "C: \\ . окна \\ system32 \\ 7z.exe»2017-12-27 16:45:21> Необработанное исключение: System.AggregateException: произошла одна или несколько ошибок. ---> System.Exception: вино: не могу найти L "C: \\ \\ system32 окна \\ 7z.exe." В Squirrel.Utility + d__22.MoveNext () [0x000ff] в: 0 --- Конец внутренний стек исключений трассировки --- на System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] в: 0 в системе (System.Threading.Tasks.Task.Wait. nupkg в /Users//.local/share/SquirrelTemp/tempb 2017-12-27 16:45:21> Полезность: Не удалось извлечь файл / Users // разработчик / Электронно-примеры / установки-и-автообновления / расст /squirrel-windows/electronquickstart-1.0.0-full.nupkg к /Users//.local/share/SquirrelTemp/tempa вина: не могу найти L "C: \\ \\ system32 окна \\ 7z.exe." 2017- произошла одна или несколько ошибок: 12-27 16:45:21> Необработанные исключение: System.AggregateException. ---> System.Exception: вино: не могу найти L "C: \\ \\ system32 окна \\ 7z.exe." В Squirrel.Utility + d__22.MoveNext () [0x000ff] в: 0 --- Конец внутренний стек исключений трассировки --- на System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] в: 0 в System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.
asyncerror
1

голосов
0

ответ
53

Просмотры

Как обновить состояния вне класса среагировать?

У меня есть класс реагирует с некоторыми начальными состояниями. пусть SubjectList = createReactClass ({getInitialState: функция () {возвращение {предметы: [ 'Математика', 'Наука', 'История']}}, У меня есть функция, чтобы обновить предметную массив следующим образом: addSubject: функция (Subjectname) {если (Subjectname == '') {пусть подсписок = this.state.subjects; subList.push (Subjectname); this.setState ({предметы: подсписок});}}, Как я должен получить доступ к этой функции ? из-за пределы этого класса я работаю в электроне и я попытался это: ipcRenderer.on ( 'надстройка нового объекта съемки', (событие, newSubjectName) => {SubjectList.addSubject (newSubjectName);}); Но это не работает. Я хочу, чтобы обновить массив объектов через эту функцию.
PiyushPawar
1

голосов
1

ответ
112

Просмотры

Не могу требовать визуализатора в протоколе HTTP в электроном

Может кто-нибудь объяснить мне, почему этот код не работает? Я пытался требовать визуализатор в протоколе файла (без явного статического сервера), и это было хорошо, но когда я сделать это с помощью протокола HTTP я получил неперехваченным Ошибка: Не удается найти модуль «./renderer»! Есть ли способ, чтобы требовать пользовательских модулей HTTP? Спасибо ... Структура - проект + node_modules - app.js - index.html - package.json - renderer.js app.js сопз {приложение, BrowserWindow} = требуется ( 'электрон'); Const = выразить требуется ( 'экспресс'); Const = путь требует ( 'путь'); Const URL = требуется ( 'URL'); Сервер = Const экспресс (); server.use (express.static (__ имя_директории)); app.on ( 'готов', () => server.listen (3000, CreateWindow)); Функция CreateWindow () {пусть выиграть = новый BrowserWindow ({ширина: 800, высота: 600}); win.loadURL (URL. Формат ({протокол: 'HTTP', имя хоста: 'локальный', порт: 3000})); win.webContents.openDevTools (); win.on ( 'закрытые', функция () {выиграть = NULL; app.quit ();}); } Index.html Тест требует ( './ рендерер'); renderer.js вар корень = document.getElementById ( 'корень'); root.innerHTML = 'Hello, World!'; Электронная версия: 1.7.10 Операционная система: Windows 10
Sadra Samadi
1

голосов
0

ответ
311

Просмотры

Electron - Как отобразить дочернее окно с содержанием от DIV?

Я хочу, чтобы открыть второе окно OnClick с содержанием от DIV внутри HTML от первого окна. Я получил следующее: Main.js | Второе окно categoryWindow = новый BrowserWindow ({ширина: 400, высота: 400, BackgroundColor: '# 323232', рамка: ложь, показать ложь}); categoryWindow.loadURL (url.format ({путь к файлу: path.join (__ имя_директории, 'активы / html / game.html'), протокол: 'Файл:', косая черта: истинный})); ipcMain.on ( 'категория окна', (событие, содержание) => {categoryWindow.webContents.send ( 'категория окна', содержание); categoryWindow.show ();}); main.html | Html, который содержит содержимое DIV Добавить категорию Это должно быть показано во втором окне Она работает, однако все содержимое HTML получает показано.
Keokolor
1

голосов
0

ответ
306

Просмотры

приложение электронного кластера с использованием

Могу ли я использовать модуль кластера в электроном ?. Когда я их называю, что работники немедленно умирают
Ino mezi
1

голосов
0

ответ
445

Просмотры

не удалось установить на электрон высокой Сьерры

Я пытался установить электрон, используя НПМ на высокой Сьерры и я не могу сделать так, Судо или разрешение изменения папки, ничего не похоже на работу. Я вижу эту ошибку на несколько постов, но большинство из них указывают на использование правильной версии узла. Некоторые ссылки я проверил: 1 2 Я был на версии 9.2.1, но перешли на версию 8.2.1 на основе того, что я видел в электроне. Ниже приведен скриншот ошибки: Является ли это потому, что по какой-то причине мне запрещено добавлять определенные файлы на корень? У меня есть сомнения, тис, потому что в последнее время я имею много хлопот установка любого программного обеспечения. Есть ли способ, чтобы избавиться от этой проблемы навсегда?
novembersky
1

голосов
0

ответ
361

Просмотры

Кордова или Electron для OS X

Мы разрабатываем приложения с угловыми и Кордову для Android и IOS. Мы недавно установки Electron, чтобы иметь возможность запустить приложение и на рабочем столе. Оба Кордова и Electron поддерживает OS X платформы. Приложение использует файловую систему устройств для хранения документов и фотографий. Кто-нибудь знает, какой из них больше подходит для OS X? Каковы плюсы и минусы? Спасибо
Cyril Lacroix
1

голосов
2

ответ
94

Просмотры

Можно ли получить позицию курсора редактирования любого сфокусированного редактора глобально с помощью JavaScript или какой-то плагин?

Есть некоторые НПЕ плагин, чтобы получить позицию мыши, как robotjs, но я не мог найти что-либо подобное, чтобы получить позицию курсора редактирования в глобальном масштабе. Я работаю на настольное приложение для окна с использованием рамки электронной и мое требование заключается в том, что она должна быть в состоянии показать некоторые меню или окна ниже позиции курсора редактирования. И курсор может быть в любом текстовом редакторе.
runi
1

голосов
0

ответ
447

Просмотры

Как запустить функцию в Electron от процесса рендеринга в основном?

В настоящее время я пишу некоторые простые рамки плагина для электрона. Я требую файлов в процессе рендеринга. Это прекрасно работает для элементов пользовательского интерфейса, но я хотел бы добавить плагин, который запускает экспресс-сервер во время запуска. Это работает до тех пор, как BrowserWindow еще видна. После того, как я закрыть его, сервер выключается. Это в значительной степени указывает на то, что сервер был создан на процесс рендеринга. Идея, что у меня было экспортировать функцию под названием executeFunction в моем файле main.js, файл, который использует электрон, чтобы начать. Он просто вызывает функцию переданную ей. Я затем импортировать файл, используя константный {executeFunction} = требуется ( «электрон»). Remote.require (»./ главный) и передал свою функцию setupServer к нему. Для некоторых нечетных причин, он по-прежнему вызывается на визуализаторе, даже если я прохожу его к основному процессу перед вызовом функции. Любая идея, если то, что я пытаюсь сделать, это возможно? Вот соответствующие фрагменты кода: функция экспорта executeFunction (externalFunction) {попробуйте {externalFunction (); log.warn (? `, работающие на визуализатора $ {isRenderer}`); } Поймать (е) {console.log (е); }} Вот код настройки сервера: импорт выразить от «экспресса»; импорт graphqlHttp из 'экспресс-graphql'; импорт {buildSchema} от 'graphql'; константные {приложение} = требуется ( 'электрон') пульта дистанционного управления.; Const {executeFunction} = требуется ( 'электрон') remote.require (»./ главное). Журнал импорта из «электрон-журнал»; импорт isRen из «является-электрон-рендерер»; Функция экспорта по умолчанию setupServer () {сопза схема = buildSchema ( `Тип запрос {Привет: String}`); Const корень = {Привет: () => {Вернуться 'Hello World!'; }}; Const = expressApp выразить (); expressApp.use ( '/ graphql', graphqlHttp ({схемы, rootValue: корень, graphiql: истинно,})); log.warn ( `является рендерер $ {isRen}`); Сервер = Const expressApp.listen (4000); log.warn ( 'прослушивает порт 4000'); // убедитесь, чтобы закрыть сервер на окна-закрыто app.on ( 'бросить курить', () => {log.warn ( 'приложение закрывается, выключая сервер'); server.close ()}); } // запуск сервера executeFunction (() => {setupServer ();}); предупредить ( `это рендерер $ {isRen}`); Сервер = Const expressApp.listen (4000); log.warn ( 'прослушивает порт 4000'); // убедитесь, чтобы закрыть сервер на окна-закрыто app.on ( 'бросить курить', () => {log.warn ( 'приложение закрывается, выключая сервер'); server.close ()}); } // запуск сервера executeFunction (() => {setupServer ();}); предупредить ( `это рендерер $ {isRen}`); Сервер = Const expressApp.listen (4000); log.warn ( 'прослушивает порт 4000'); // убедитесь, чтобы закрыть сервер на окна-закрыто app.on ( 'бросить курить', () => {log.warn ( 'приложение закрывается, выключая сервер'); server.close ()}); } // запуск сервера executeFunction (() => {setupServer ();});
Sven
1

голосов
0

ответ
112

Просмотры

Диалог открыт с помощью электронного метода dialog.showOpenDialog не показывает сетевые драйвера

я развивать мое приложение с электроном. я открыл окно, с помощью метода dialog.showOpenDialog, он не показал сеть Dirvers на моем компьютере. Но когда я использовал атом (текстовый редактор), чтобы открыть диалоговое окно, драйвера сети вышли. Могу ли я делать это неправильно? Как я могу заставить его вести себя так же, как атом? Это Screenshoots: сеть dirve диалога мое приложение открывает диалоговое окно открывается атом
Jason
1

голосов
1

ответ
267

Просмотры

How to prevent multiple dialog box in electron

Я открываю некоторые окна сообщений с dialog.showMessageBox электрона. Но в настоящее время открытие нескольких ящиков. Я хотел бы открыть только один блок сообщения в то время. выборки (payload.url) .then (Рез => res.json ()) .then (данные => {скачать (BrowserWindow.getFocusedWindow (), data.presigned_url, {SAVEAS: верно, // openFolderWhenDone: правда, showBadge: . ложь, имя файла: payload.filename}), то (пункт => {сопз Filepath = item.getSavePath (); dialog.showMessageBox (BrowserWindow.getFocusedWindow () {Тип: 'Информация', название: 'Состояние загрузки', сообщение : 'Загрузка завершена', кнопки: [ 'Close', 'Открыть папку', 'Открыть']}, dialogId => {переключатель (dialogId) {случай 0: перерыв; Случай 1: shell.showItemInFolder (Filepath); перерыв; Случай 2: shell.openItem (Filepath); по умолчанию: разрыв; }},); }); }); Например, я хотел бы, чтобы закрыть последнее окно сообщения, когда открывается новый, или просто не позволит открыть следующее окно с сообщением, если один уже открыт. Любая форма помощь будет оценена.
emil
1

голосов
0

ответ
49

Просмотры

Как Chrome ручка видео хранится в памяти?

Im создание приложения с Electron. Мое приложение имеет сотни видео, которые активизируются с помощью основного HTML5 видео воспроизведения и паузой функции. Приложение использует иногда столько, сколько 8gb памяти. Это хорошо для меня, потому что у меня есть 16 Гб оперативной памяти, но я не уверен, что произойдет на компьютере, с меньшим количеством оперативной памяти. Будет ли крах мое приложение на системе с меньшим количеством оперативной памяти, или же Chrome автоматически удалить видео из памяти, чтобы освободить место? Если да, то как это выбрать видео для удаления? Это то, что известно как «сборка мусора»?
user2454060
1

голосов
1

ответ
19

Просмотры

Как я могу лучше протестировать actionCreator, который использует электроны

Вот пример actioncreator. Это dispacthes правильного действия, а затем пытается сохраняются данные, которые были обновлены в магазине к файловой системе (это электрон приложение). Все работает, но у меня есть вопрос о тестировании создателя действий. ... функция persistClasses (отправка: Функция, GetState: Функция, обратный вызов: Function) {writeAppData ({[FILE_CLASSES]: JSON.stringify ({[КЛАССЫ]: GetState () [КЛАССЫ]})}, (IOResult: Object) => {если (ioResult.success) {отправка (persitingDataSuccess (классы));} еще {отправка (persitingDataError (классы));} обратного вызова (IOResult);}); } Функция экспорта replaceClasses (updatedData: Array, вызов: Function): ActionObj {возвращение (отправка, GetState) => {отправка ({типа: REPLACE_CLASSES, полезная нагрузка: updatedData, }); persistClasses (отправка, GetState, обратный вызов); }; } ... функция writeAppData (содержание: Object, обратный вызов: Function) {пусть файлы = DATA_PATHS.filter (содержание Filepath => [Filepath] == неопределенный!) .Map (Filepath => {возвратить новый Promise ((решимость, отклонить ) => {Const FILE_PATH = getFilePath (Filepath); fs.writeFile (FILE_PATH, содержание [Filepath], 'UTF-8', (ERR ?: есть) => {если (ERR) {отвергнуть (ERR);} еще {решимость (FILE_PATH);}});});}); Promise.all (файлы) .Затем (ответы => {обратный вызов ({успех: правда, errorObj: нуль,});}) .catch (ERR => {обратный вызов ({успех: ложь, errorObj: эээ,}); }); } ... Следующий тест работает, но он проверяет только то, что происходит в моем действии replaceClasses. Как я могу проверить, что persistClasses делает? импорт configureMockStore из «Redux-макет магазина» импорт стука из «Redux-стук»; импорт * в качестве classActions из»../classActions'; импорт {REPLACE_CLASSES, UPDATE_CLASS, ADD_CLASS, DELETE_ALL_CLASSES} от»../../constants/actionTypes'; импорт ClassDefault из»../../types/class'; Const = промежуточное программное [санк]; Const mockStore = configureMockStore (промежуточное программное); / ** * Класс Действия Тесты * / описывают ( 'Действия: classActions:', () => {пусть TestClass = {}; пусть обратный вызов = функция () {}; пусть магазин = функция () {}; beforeEach (( ) => {TestClass = {... ClassDefault, ID: 'c1', метка: 'Класс'}; обратный вызов = jest.fn (); магазин = mockStore ({классы: []});}); тест ( «replaceClasses отправляет правильное действие», () => {Const EXPECTED_ACTIONS = [{тип: REPLACE_CLASSES, полезная нагрузка: [TestClass]},]; store.dispatch (classActions.replaceClasses ([TestClass], обратный вызов)); планирующим (store.getActions ()) toEqual (EXPECTED_ACTIONS). }); ...}); Я не уверен, если мне нужно, чтобы проверить его, как он просто использует методы ввода / вывода электрона, который я думаю, будут покрыты за счет собственных тестов электрона. Или там же я могу проверить это? Я не думаю, что, как это тестовая среда, что есть доступ к электрону. Способы ввода / вывода с I, которые я думаю, будут покрыты за счет собственных тестов электрона. Или там же я могу проверить это? Я не думаю, что, как это тестовая среда, что есть доступ к электрону. Способы ввода / вывода с I, которые я думаю, будут покрыты за счет собственных тестов электрона. Или там же я могу проверить это? Я не думаю, что, как это тестовая среда, что есть доступ к электрону.
riscos3
1

голосов
1

ответ
32

Просмотры

Как обрабатывают маршруты с Угловым и Electron

Я добавил электронную конфигурацию к существующей SPA применению. Когда я нажимаю ссылку в навигационной панели, я получаю следующее сообщение об ошибке: / расстоянии / о сети :: ERR_FILE_NOT_FOUND Я знаю, что нет такого файла в каталоге, но я искал некоторое время теперь о том, как иметь дело с маршрутами. В настоящее время я не нашел ничего, кроме шаблонных проектов только с одной страницы, и я начинаю думать, что маршруты не представляется возможным в Electron (если нет, пожалуйста, дайте мне знать). Не стесняйтесь проверить мой исходный код. Я в настоящее время с помощью документации электронной шаблонного в моем файле main.js. Любая помощь высоко ценится!
Øystein Seel
1

голосов
0

ответ
48

Просмотры

Electron.build автоматического обновления - когда это загрузить обновления?

Мне удалось успешно реализовать функцию автоматического обновления для ОС Windows и Mac для моего приложения с помощью https://www.electron.build/auto-update. Интересно, продолжает ли загрузка, когда пользователи закрывает приложение (и, очевидно, обновление было найдено)? Или же приложение должно оставаться открытым до тех пор, обновление не было полностью загружено?
jfix
1

голосов
0

ответ
16

Просмотры

Почему Electron + React имеет различный акт в Dev и Prod Mode?

у меня есть ВЗАИМОДЕЙСТВУЕТ компонент внутри моего электронного приложения. (Main) и я хочу использовать «электрон-журнал» из моего компонента (Renderer). когда я использую ниже код внутри моей видеообработки на режиме DEV, это работает! но когда я построить приложение, я получаю белый экран-в-смерти без ошибок! константные удаленные = требуется ( «электрон») пульта дистанционного управления.; Const ELOG = remote.require ( 'электрон-журнал'); Зачем?
user3188348
1

голосов
1

ответ
381

Просмотры

Electron app performance: blocking thread with ipcRenderer.sendSync

I have a music player built with Electron. I am having some performance / process blocking that I didn't expect. I am trying to do some background processes for heavy IO operations. (determining songs duration and album covers) I am doing this by calling methods through the electron.remote module. I have noticed that the app didn't do these things asynchronously somehow. I have been running the performance tool to check and saw the click handler taking a huge time. Digging deeper I found that ipcRenderer.sendSync is called. There is a warning about sendSync blocking nature in Electron Docs. But, my own code does not call it. So I suspect the remote module or something else in my code causing sendSync to be called. The entire app code is on Github but here is an example of electron.remote usage. The gist is something like this: import {remote} from 'electron' const fs = remote.require('fs') const mm = remote.require('musicmetadata') // read song file, IO function readMetadata (filePath) { return new Promise(function (resolve, reject) { const stream = fs.createReadStream(filePath) mm(stream, {duration: true}, function (err, metadata) { // ... }) }) } // get metadata for an array of songs async function refreshSongsDuration (songs) { const songsMetadata = await Promise.all(songs.map((song) => readMetadata(song.filePath))) return songs.map((song, index) => { song.duration = songsMetadata[index].duration return song }) } Then in a click handler I'll have something like this: playArtist (artistID) { const songs = this.library.getArtistSongs(artistID) this.playlist.setSongs(songs) musicPlayer.play() const shouldGetDuration = songs.some((song) => song.duration === 0) // This is expected to be asynchronous and non blocking. if (shouldGetDuration) { mediaLibrary.refreshSongsDuration(songs) .then((updatedSongs) => { this.playlist.set('songs', updatedSongs) }) } } So, I guess the simple question here is, what am I doing wrong causing these blocking processes?
Kev
1

голосов
0

ответ
38

Просмотры

Есть ли способ узнать, если файл открывается пользователем?

Мой вопрос прост. Я создаю приложение электронное с помощью Node JS, чтобы посмотреть конкретный каталог. Я хотел бы знать, есть ли способ, как файл сторожа или что-то другое, что может сказать мне, если файл открывается пользователем? Спасибо.
user2672399
1

голосов
0

ответ
195

Просмотры

Как я могу получить аргументы командной строки произвольной мимо пряжи и WebPack-DEV-сервер?

Я построение Электронно-инструмента командной строки. Пользователи будут вызывать его из командной строки, а затем он будет открыть обычное окно Electron (поэтому я утруждая Electron & WebPack, вместо того, чтобы использовать что-нибудь попроще, как NEXE), под влиянием того, что они вошли через CLI. Я использую WebPack-DEV-сервер v2.4.5 развивать Electron UI. У меня есть НОЕ сценарий, Dev, который запускает WebPack-DEV-сервер со всеми необходимыми опциями сборки. К сожалению, когда я добавить свои собственные аргументы в командной строке что-то потребляет их, и они не делают его к моей электронной заявке. Мой НПМ сценарий: "DEV": "WebPack-DEV-сервер --hot --host 0.0.0.0 --config = / webpack.dev.config.js $ *", The $ * является трюк, который я нашел, что кажется расширить в качестве дополнительных аргументов. Я хочу, чтобы передать эти аргументы в моем сценарии узла: --live --speed быстро. Итак, я бегу пряжи Dev somefile.ext - --live --speed быстро, а затем я вижу: пряжа бежать предупреждение v1.3.2 Из пряжи 1.0 года, скрипты не требуют «-» для опций, которые будут направлены. В будущей версии, любой явный «-» будет пересылаться как есть в сценарии. $ WebPack-DEV-сервер --hot --host 0.0.0.0 --config = / webpack.dev.config.js $ * somefile.ext --live --speed быстро ... CLI информация Использование Неизвестный аргумент:. Жить ошибка команда завершилась с кодом выхода 1. (Да, $ * появляется как есть в команде, которая, кажется странной. Но это также приносит в этих дополнительных аргументах, так что это хорошо.) Очевидно, что нить прошла дополнительные аргументы к WebPack-DEV-сервер, который затем пытался истребить их и не удалось. Если я опускаю - я получаю тот же результат, но без предупреждения пряжи про то, что не нужно. Если я бегу шунтирование сценарий НПМ полностью, я получаю аналогичные результаты:. ./Node_modules/.bin/webpack-dev-server --hot --host 0.0.0.0 --config = / webpack.dev.config.js - somefile.ext --live --speed быстро Выдает: Ошибка в многоканальном (WebPack) -dev-клиент / сервер HTTP: //0.0.0.0: 8080 WebPack / горячий / Dev-сервер ./src/index.js - жить --speed быстро В этом случае появляется WebPack-DEV-сервер точно передал дополнительные аргументы на Dev-сервер, который затем сдавленным на них. Можно ли получить эти дополнительные опции мимо WebPack-DEV-сервер? Я собираюсь иметь, чтобы взломать эти 12 уровней вниз, через все кишки WebPack в? Вся помощь, я могу найти в Интернете о людях, пытающихся соединять их Dev против флага прода, и поэтому все советов об использовании окр варов вместо (например, ENV = DEV WebPack ...). Это, кажется, здесь неуместно, поскольку параметры CLI я хочу передать и развивать против будут предоставляться явно конечными пользователями. Любые советы ценятся.
Tom
1

голосов
1

ответ
39

Просмотры

Включение jshint для электрона в Кронштейны

Jshint в VS кодекса делает фантастическую работу на давая Electron.js связанные намеки: Но в Кронштейны (мой любимый редактор) jshint не дает Electron.js конкретные подсказки: Есть ли способ, чтобы исправить отсутствие намеков в скобках?
Tom Flendrig
1

голосов
1

ответ
78

Просмотры

Как наши Time Tracker Обход в MacOS Доступность Настройки?

Я создал приложение, которое захватывает время и события мыши / клавиатуры с помощью Electron. Он отлично работает на Windows. Тем не менее, он блокируется на Mac OS (см подскажут ниже). Из-за этого, пользователи Mac не смогут использовать наше приложение - если они не включить его, перейдя в Настройки> Securty и частную жизнь. Это не хороший пользовательский опыт, потому что в идеале, мы хотим, чтобы иметь возможность использовать наше приложение после установки (например, как другие приложения будут вести себя) Я читал, что это является общим для приложений, которые отслеживают события мыши и клавиатуры, потому что он похож на кейлоггер. Для уточнения, мы не создавали кейлоггер, но отслеживанию программное обеспечение время как Hubstaff.com Есть ли способ обойти Securty и конфиденциальность шаг, чтобы они могли использовать приложение сразу же после установки? Кстати, у нас есть один вариант, который мы еще не проверены:
P. James
1

голосов
0

ответ
132

Просмотры

ошибка сборки Electron

Я пытаюсь создать приложение, сделанное с электроном, но когда сборка версии Windows, на консоли появляется эта ошибка, и экран остаться пустым: Не разрешается загружать локальный ресурс: файл: /// C: / Program% 20Files / 8TRACK / ресурсы / app.asar / index.html Если установить WebSecurity как ложь эта ошибка исчезает, но пустой экран продолжается. Я попытался решением этого вопроса в GitHub и даже настройки «Асар» как ложные в package.json без успеха. https://github.com/electron/electron/issues/5107 Любая идея, как решить эту проблему? Спасибо
Aitor de la Vega
1

голосов
1

ответ
254

Просмотры

Firebase не может проверить подлинность после построения электронного приложения

У меня есть проблема с Firebase, React и Electron. Когда я использую мое приложение в разработчике, я использую локальный сервер для загрузки с реагировать-скрипты запуска, поэтому он загружается в HTTP: // локальный: 3000. Я использую этот URL, чтобы загрузить мое приложение с Electron. НО когда я пытаюсь идти в производство, я использую электрон-строитель. Я строй моего приложения с билдом реагировать-скрипт, это создать папку сборки, а также для электронного приложения, изменить загрузку URL для файла: // $ {path.join (__dirname, «../build/index.html» .. Я использую построить -c.extraMetadata.main = сборки / electron.js это теперь загружается отлично, но когда я пытаюсь проверить подлинность ничего не произошло, и в консоли, он говорит: код: авториз / операция-это-не поддерживаемые в -за-Environnement сообщение:. Эта операция не поддерживается в Environnement это работает на «location.protocol» должен быть HTTP, HTTPS или хром расширение и веб-хранилище должно быть включить Как я могу решить эту проблему? Моя гипотеза, что это потому, что я не пишу URL моего приложения в Авторизованных доменов в Firebase Вход в методе, но нет URL для моего приложения, он местный. Нужно ли я загрузить сервер трудоустроить Firebase? Я вижу подобный пост, но без ответа
Monsieur Sam
1

голосов
0

ответ
580

Просмотры

Запись звука в Electron.js

В настоящее время я работаю над проектом экспериментального зданием звукового рекордера. Я буду использовать Arduino с кнопкой запуска / остановки записи, так что нет взаимодействия с машиной (скрытая Windows, ноутбук) на все для конечного пользователя. Ищете способ для записи звука на компьютере с микрофона, в идеале Javascript. Звук должен быть записан локально (без зависимости от подключения Wi-Fi), и каждый звук должен быть сохранен в виде отдельного файла. После того как проект будет сделано / установлен, я не будет иметь доступа к машине не так файлы должны быть легко доступны с помощью нетехнических пользователей (отсюда Arduino / ноутбук комбо и не малина пи, например). Моя форте JS, так что я надеялся сделать это с помощью Electron, но я не нашел способ сделать это только пока. Я попытался очевидные navigator.mediaDevices. GetUserMedia, который не работает на Electron по соображениям безопасности. Есть ряд библиотек там, но те, которые я видел, не будет работать на всех, устарели и не обновляются годами. Я также попытался с помощью p5.js, что несмотря на то, немного запутанным работал достаточно хорошо, но требует ввода данных пользователем при сохранении аудиофайл, который не является вариантом, учитывая установка будет иметь только одну кнопку для запуска / остановки записи в качестве интерфейса. Кто-нибудь сделал это или кто-нибудь может поставить меня в правильном направлении? которая не является вариантом, учитывая установка будет иметь только одну кнопку для запуска / остановки записи в качестве интерфейса. Кто-нибудь сделал это или кто-нибудь может поставить меня в правильном направлении? которая не является вариантом, учитывая установка будет иметь только одну кнопку для запуска / остановки записи в качестве интерфейса. Кто-нибудь сделал это или кто-нибудь может поставить меня в правильном направлении?
user9685408
1

голосов
1

ответ
213

Просмотры

Угловая & Electron - Открыть ссылку в браузере по умолчанию

Я пытаюсь открыть ссылку из электронного приложения (используя угловой) в моем браузере по умолчанию, но я получаю следующее сообщение об ошибке: Uncaught TypeError: fs.existsSync не является функцией на объекте. (vendor.bundle.js: 160955) на объекте ../ node_modules / электрон / index.js (vendor.bundle.js: 160961) в __webpack_require__ (inline.bundle.js: 55) на объекте ../ SRC / приложение / компоненты / выпуск / issue.component.ts (main.bundle.js: 159) в __webpack_require__ (inline.bundle.js: 55) на объекте ../ SRC / приложение / app.module.ts (main.bundle.js: 75) в __webpack_require__ (inline.bundle.js: 55) на объекте ../ SRC / main.ts (main.bundle.js: 644) в __webpack_require__ (inline.bundle.js: 55) при Object.0 (основной. bundle.js: 662) у меня есть «(нажмите) =» onNavigate () «» на кнопке на моем HTML компонента и это функция: импорт {} оболочка из ' электрона '; ... onNavigate () {shell.openExternal ( "http://www.google.com"); } ... Я понятия не имею, что я делаю не так, и надеюсь, что кто-то здесь может помочь мне :)
merstik
1

голосов
0

ответ
43

Просмотры

Доля UIs между электронным столом с ионным приложением

У меня есть приложение для Android записи с ионными, и он будет вызывать некоторые функции C с Кордова. Теперь мне нужно сделать то же самое приложение на рабочий стол. Я хочу использовать Electron. и код С может работать как nodejs C / C ++ аддон в электрон. но если я использовать ионный электрон. Я получил следующее сообщение об ошибке при нагружают nodejs аддон: Модуль синтаксического анализа не удалось: XXX.node Неожиданный символ «» (1: 0) Вы, возможно, потребуется соответствующий загрузчик для обработки этого типа файла (исходный код опущен для этого двоичного файла) The XXX. узел библиотеки двоичный файл C. Я Google за несколько дней, и обнаружил, кто-то сказал, что узел работает на стороне сервера. Ионный осуществляется на сторону клиента, так ионный не может вызвать узел модулей. Это правильно? Если это верно, Как я могу использовать тот же код Uis? Мне нужно переписать одну или использовать другую базу? Спасибо!
Minji Wei
1

голосов
1

ответ
163

Просмотры

Как настроить Electron использовать BaseUrl машинопись в

Машинопись имеет полезную опцию компилятора под названием BaseUrl, который позволяет использовать не относительные пути, то есть импорт команд из «UTIL / Command» вместо: импорт Команда из «../../../util/Command» Использование она отлично работает на этапе компиляции, но машинопись сохраняет не-относительные пути и излучает: Const = command_1 требуется ( «UTIL / Command») При запуске приложения с $ электрона. Это приводит к не может найти модуль «Util / Command» ошибки, потому что он не знает о настройке BaseUrl. Я понимаю, это может быть решено с помощью resolve.alias WebPack, но я не использую Webpack в этом проекте, и не хочу, чтобы добавить его в только для этого. Я уже пробовал предложения ниже, но ни один из них работал: Set NODE_PATH переменная окр (Машинопись BaseUrl с Node.js) Добавить требовать ( «модуль»).
Erik J
1

голосов
1

ответ
82

Просмотры

Спектрон isExisting оленья кожа асинхронных возвращают ложным

Я использую Спектрон 3.8.0 и пытаюсь проверить, если элемент существует утра в DOM. Я попытался с помощью метода waitUntil с TRY / поймать, но он не работает, как ожидалось. Недавно я получил синхронизации app.client.isExisting () возвращает истину, если элемент существует, но в остальном она застревает и бросает исключение тайм-аута (мокко). Код ниже: @log защищен асинхронной isExisting (элемент: строка, имя ?: строка): Promise {ждут this.app.client.isExisting (элемент) .then (данные => {сопз isExisting = данные; console.log (CONSOLE_COLORS. ЖЕЛТЫЙ, "IS сУЩЕСТВУЮЩИЙ ???", isExisting); вернуть isExisting;}) .catch (е => {console.log (CONSOLE_COLORS.RED, "не существующий эль") вернуться ложным;}); }
zaebalo
1

голосов
1

ответ
268

Просмотры

Как создать без изменяемого и 100% экрана (не полный экран) BrowserWindow

Я хочу, чтобы мое главное окно, чтобы быть 100% от экрана не весь экран, а также не изменяемыми. Const электронов = требуется ( 'электрон'); Const URL = требуется ( 'URL'); Const = путь требует ( 'путь'); Const {приложение, BrowserWindow} = электрон; пусть MainWindow; app.on ( 'готов', функция () {MainWindow = новый BrowserWindow ({изменяемая: ложь, высота: 800, ширина: 1535}); mainWindow.loadURL (url.format ({путь к файлу: path.join (__ имя_директория,» index.html "), протокол: 'файл', косая черта: истинный})); mainWindow.on ( 'закрыто', функция () {app.quit ();});});
Saijal Shakya
1

голосов
0

ответ
56

Просмотры

Импорт библиотек в радиально-Electron проекте

Я занимаюсь разработкой веб-приложений с помощью Угловое 5. Я завернул его в Электрона из-за мне нужно использовать файловую систему. Для того, чтобы использовать функции узла я установить main.js файл следующим образом: MainWindow = новый BrowserWindow ({ширина: 1280, высота: 800, BackgroundColor: '#ffffff', webPreferences: {nodeIntegration: истинно}}) Как вы можете см nodeIntegration устанавливается истина. При такой конфигурации все работает хорошо, но я заметил, что когда я импортировать некоторые библиотеки в файле .angular-cli.json, что библиотеки не импортируются. Например, я импортировать toastr следующим образом: (.angular-cli.json файл) "скрипты": [ "../node_modules/jquery/dist/jquery.min.js",»../node_modules/bootstrap/dist/js /bootstrap.bundle.min.js "" ..
user3471528
1

голосов
1

ответ
346

Просмотры

Как я могу перехватить запросы в отношении файлов и изменять их с протоколом HTTP?

В Electron, можно перехватывать запросы в отношении файла: /// и перенаправить их на HTTP? Я проверил страницу протокола Electron, но это не так очевидно, если это поддерживается или нет.
Rophy Tsai
1

голосов
2

ответ
673

Просмотры

Глубокие ссылки в новом окне, используя файл: // с АОТ

Контекст Я создаю настольную версию угловом приложения, для этого я использую электрон. Открытие главного окна довольно легко: победа = новый BrowserWindow ({ширина: 1280, Высота: 720, BackgroundColor: '#ffffff', значок: `файл: // $ {__dirname} / расстояние / активы / logo.png`}) ; win.loadURL (файл `: // $ {__dirname} / расстояние / index.html`); Это открывает новое окно, решив базовой HREF пути, все работает отлично. В моем приложении, я хочу, чтобы использовать электрон, чтобы обеспечить такие вещи, как наложения окно для отображения информации для пользователей в очень компактном виде. Чтобы сделать это, у меня есть страницы, которые могут быть оказаны в виде наложения (/ тревоги? Наложенные = TRUE), благодаря queryParams привязок маршрутизатора. Все выше упоминалось отлично работает с помощью браузера, покрышка хорошо, все в порядке. Проблема Чтобы открыть эту накладку на электрон, я м обеспечивает кнопку, которая делает Ipc вызов: showOverlay (): пустота {this.ipc.send ( 'наложения', '/ тревоги'); } Вот метод отправки из IpcService (названные МКИ в функции выше): общественный посыл (канал: строка, ... арг: любой []): пустота {если (this._ipc == неопределенный!) {Вернуть это. _ipc.send (канал, ... арг); }} А код на другой стороне: ipcMain.on ( 'наложения', (событие, URL) => {Const overlayWindowConfig = {высота: 400, ширина: 280, изменяемый размер: истинно, рамка: ложь, AlwaysOnTop: правда, autoHideMenuBar: правда, webPreferences: {nodeIntegration ложь}}; Const наложение = новый BrowserWindow (overlayWindowConfig); overlay.loadURL (файл `: // $ {__dirname} /dist/index.html#$ {URL} наложения = верно? `); openedOverlays [URL] = наложения; }); Как вы можете видеть, я пытаюсь открыть новое окно непосредственно на данной странице, поэтому он может загрузить только раскладку без необходимости загрузки домашней страницы, а затем перейти к сигнализации (что было бы некрасиво из-за размером наложения окно). Маршрутизатор базовой конфигурации HREF установлен на ./. Маршрутизатор стратегия местоположения установлена ​​в useHash: истинно в электронной версии, потому что, как я должен быть в состоянии обрабатывать глубокие ссылки с файлом: //. Уже попробовал базы HREF Установка базовой HREF опорожнить ( «»), как я видел на вопрос GitHub, что он должен работать с помощью этого. * Оказывается, это отлично работает без АОТ, создание приложения с АОП разбивает окно, когда оно открывается следующее сообщение (внутри Devtools электрона): Ошибка: Не удается соответствовать любым маршрутам. URL Сегмент: 'index.html' Это также нарушает все мои активы ссылки, так как они пытаются загрузить из дист / index.html / активы / вместо DIST / активы /. модификация Ссылка Я попытался изменить ссылку открыть, добавив косую черту перед #, ничего не изменится. Сейчас я строй своего электронного приложения без АОТА, но это не решение, которое я хочу использовать для моего освобождения, будучи в состоянии загрузить кадр из электрона с глубокой связью и АОТОМ поддержкой является, что мне нужно, чтобы иметь возможность делать.
Supamiu
1

голосов
0

ответ
94

Просмотры

Электронно скриншот слишком мал

Привет Я использую электрон сделать скриншот всего экрана и мой код работает хорошо, за исключением того факта, что размер будучи скачать скриншот слишком мал. Это функция JS, которая принимает скриншот на кнопку клик renderer.js: Const электрон = требуется ( «электрон»); Const desktopCapturer = electron.desktopCapturer; Const electronScreen = electron.screen; Const оболочки = electron.shell; Const дистанционного = electron.remote; Const диалог = remote.dialog; константное фс = требуется ( «фс»); константный OS = требуется ( 'ОС'); Const = путь требует ( 'путь'); Const скриншот = document.getElementById ( 'кадр'); Const screenshotMsg = document.getElementById ( 'кадр-путь'); Const pathButton = document.getElementById ( 'путь-кнопка'); вар screenShotPath = ''; pathButton. addEventListener ( 'нажмите', функцию (событие) {dialog.showSaveDialog (функция (Filename) {если (имя_файл == неопределенный) {возвращение} screenShotPath = имя_файл; screenshotMsg.textContent = screenShotPath;});}); screenshot.addEventListener ( 'нажмите', функция (событие) {screenshotMsg.textContent = 'Gathering экраны'; Const thumbSize = determineScreenshot (); console.log (thumbSize.height); console.log (thumbSize.width); пусть варианты = {типа: [ 'экран'], thumnailSize: thumbSize}; desktopCapturer.getSources (опции, функции (ошибки, источники) {console.log (источники); если (ошибка) возвращение console.log (Error.message); источники. Foreach (функция (источник) {если (source.name === "Весь экран" || source.name === " Возвращение {ширина: maxDimension * window.devicePixelRatio, высота: maxDimension * window.devicePixelRatio}; } На скриншоте хорошо захватывая рабочую область, но проблема в том, что это слишком мало. Может кто-то пожалуйста, как увеличить размер этого? Я прилагаю сгенерированный снимок экрана при этом.
Dhirish
1

голосов
1

ответ
251

Просмотры

Как отлаживать процесс рендер электронно-кузнечный среагировать-машинопись?

Я использовал электронный горн для создания приложения базы по реакции-машинопись шаблона. Я написал несколько vscode отладки конфиги для этого приложения. Но я просто не мог отладить для главного процесса, Renderer отсутствует. Я установил отладчик для расширения хрома и использовал его раньше. Интересно, что мне не хватает в конфигурации? { "конфигурации": [{ "типа": "узел", "запрос": "запуск", "имя": "Electron: Main", "протокол": "инспектор", "runtimeExecutable": «$ {workspaceFolder} /node_modules/.bin/electron-forge-vscode-win " "runtimeArgs": [ "--remote-отладка-порт = 9223"," «. ],
thanhgola
1

голосов
0

ответ
230

Просмотры

Changing webcam orientation in javascript (media devices)

Я создаю приложение Electron, что нужно, чтобы сделать снимок с веб-камеры, чтобы продолжить. Проблема: мне нужен вид камеры, чтобы быть вертикальными (например, телефоны). У меня есть Logitech c922 про поток. Функция кода запуска () {видео = document.getElementById ( 'видео'); холст = document.getElementById ( 'холст'); фото = document.getElementById ( 'фото'); startbutton = document.getElementById ( 'startbutton'); navigator.mediaDevices.getUserMedia ({видео: {ширина: {мин: 270, макс: 270}, высота: {мин: 480, макс: 480}, частота кадров: 60,}, аудио ложь}) .then (функция ( поток) {video.srcObject = поток; video.play ();}) .catch (функция (ERR) {console.log ( "произошла ошибка!" + ERR);}); video.addEventListener ( 'canplay', функция (эв) {если (! потоковая) {canvas.setAttribute ( 'ширина', ширина * аги); canvas.setAttribute ( 'высота', высота); потокового = TRUE; } }, ложный); startbutton.addEventListener ( 'нажмите', функция (ЭВ) {takepicture (); ev.preventDefault (); печать ();}, ложь); ClearPhoto (); }
1

голосов
0

ответ
189

Просмотры

Backend в приложении Nuxt + Electron

Я использую Nuxe в применении электронного ... Я использую VUEX и мне нужно, чтобы сделать копию локальных данных на сервере (ну, загружать их с сервера по запросу). Какой подход использовать для запросов к серверному приложению на ЭЛЕКТРОН? Я так понимаю, что это необходимо продумать также систему авторизации и так далее?
Amely
1

голосов
0

ответ
101

Просмотры

Список файлов вместо выводимых страниц при использовании электронной Вю (vue.js с электроном)

Я очень новой для vue.js и электрона. Я пытаюсь сделать страницу с некоторым JavaScript. Таким образом, у меня есть эти .vue файлы или компоненты. они могут содержать только один сценарий тег, насколько я знаю. Таким образом, всякий раз, когда я что-нибудь добавить к сценарию. перерывы приложений и показывает мне каталог, который показывает мне файлы, это как приложение apears, если я не изменить сценарий в dashboard.vue это как apears, если я что-либо изменить в сценарии dashboard.vue Приборная панель не делает содержать любой скрипт на данный момент. Но когда я добавить тег сценария эта проблема возникает. моя панель скрипт экспорта по умолчанию {имя: «Панель управления», данные () {возвращение {MSG: «Добро пожаловать»}}} Это, как настроен маршрутизатор. Он отлично работает, если у меня нет тега сценария в dashboard.vue Vue.use (Router) экспорт по умолчанию нового маршрутизатора ({маршруты: [{Путь: '/', название: 'Панель управления', компонент: требуется ( '@ / компоненты / Dashboard') по умолчанию.}, {Путь: '/ Продукты', название: 'Продукты', компонент: требуется ( '@ /components/Products').default}, {путь: '*', перенаправлять: '/'}]}) Я хочу знать, почему эта ошибка возникает. и мне нужно запустить некоторый сценарий, когда панель загружаются из ви маршрутизатора. Я попытался отрываясь этот вопрос. я ничего не могу найти. Я не знаком с WebPack и вей погрузчиком либо. Хотя у меня есть прошел через документацию. Компонент: требуется ( '@ / компоненты / Продукты') по умолчанию}, {путь:. '*', перенаправлять: '/'}]}) Я хочу знать, почему эта ошибка возникает. и мне нужно запустить некоторый сценарий, когда панель загружаются из ви маршрутизатора. Я попытался отрываясь этот вопрос. я ничего не могу найти. Я не знаком с WebPack и вей погрузчиком либо. Хотя у меня есть прошел через документацию. Компонент: требуется ( '@ / компоненты / Продукты') по умолчанию}, {путь:. '*', перенаправлять: '/'}]}) Я хочу знать, почему эта ошибка возникает. и мне нужно запустить некоторый сценарий, когда панель загружаются из ви маршрутизатора. Я попытался отрываясь этот вопрос. я ничего не могу найти. Я не знаком с WebPack и вей погрузчиком либо. Хотя у меня есть прошел через документацию.
zetawars
1

голосов
0

ответ
81

Просмотры

NPM сборка происходит сбой после обновления пряжи

НПЙ начать неудачу во всех приложениях после обновления пряжи. Вошедшая ошибка: fs.js: 159 певда ERR_INVALID_CALLBACK (); ^ TypeError [ERR_INVALID_CALLBACK]: Обратный вызов должен быть функцией в maybeCallback (fs.js: 159: 9) на Object.fs.writeFile (fs.js: 1278: 14)
1

голосов
0

ответ
117

Просмотры

Electron: Сохранение значения надежно

Я разработал приложение с Node.js. Так как я планирую продавать это приложение, я реализовал систему счетов с помощью firebase. Тем не менее, пользователь не должен войти в каждый раз, когда он закрывает приложение. Есть ли способ, чтобы надежно безопасно значение (булево), чтобы проверить, если пользователь вошел в систему (без интернета)? В прошлом я использовал узел-JSON-дб, но она может быть легко читать и манипулировать. Заранее спасибо! PS: Позвольте мне знать, если у вас есть какие-либо другие подходы к этой проблеме.
Noah

Просмотр дополнительных вопросов