Electron: TypeError: BrowserWindow.addDevToolsExtension ist keine Funktion

Erstellt am 10. Feb. 2020  ·  7Kommentare  ·  Quelle: electron/electron

Problemdetails

  • Elektronenversion:

    • 8.0.0

  • Betriebssystem:

    • Windows 10 Pro (1909) x64 OS Build 18363.418

Erwartetes Verhalten

Installieren Sie React-Devtool

Tatsächliches Verhalten

TypeError: BrowserWindow.addDevToolsExtension ist keine Funktion

Screenshots

image

8-x-y bug platforwindows

Hilfreichster Kommentar

Devtron-, React- und Redux-Erweiterungen können nicht in Browserfenstern installiert werden. Wenn jemand eine Problemumgehung kennt, würde er gerne hören.

[electron] Added Extension: React Developer Tools
[electron] Added Extension: Redux DevTools
[electron] [41948:0228/141801.424392:ERROR:CONSOLE(1)] "Uncaught TypeError: Cannot read[electron] [41948:0228/141801.424392:ERROR:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'panels' of undefined", source: chrome-extension://redux-devtools/js/devtools.bundle.js (1)
[electron] [41948:0228/141801.512131:ERROR:CONSOLE(40)] "Uncaught TypeError: Cannot read property 'inspectedWindow' of undefined", source: chrome-extension://react-developer-tools/build/main.js (40)
[electron] Unable to create basic Accelerated OpenGL renderer.
[electron] Unable to create basic Accelerated OpenGL renderer.
[electron] Core Image is now using the software OpenGL renderer. This will be slow.

Alle 7 Kommentare

Vielen Dank, dass Sie sich die Zeit genommen haben, dieses Problem zu melden und dazu beigetragen haben, Electron besser zu machen.

Bitte geben Sie einen eigenständigen Test an, den ein Tester ausführen kann, um das Problem zu reproduzieren. Dadurch wird das Beheben von Problemen reibungsloser: Es wird nicht nur sichergestellt, dass das Richtige getestet wird, sondern es wird auch verhindert, dass die Triage einen Engpass aufweist, wenn Tester neue Tests für jedes neue Problem schreiben.

Ich setze aus den oben genannten Gründen das Etikett, das mehr Informationen benötigt. Nachdem Sie geantwortet haben, schreiben Sie mir bitte einen Kommentar.

Danke im Voraus! Deine Hilfe wird geschätzt.

@MarshallOfSound
Ich weiß nicht, ob Sie das Snippet in main.js brauchen, aber hier ist es

const { app, BrowserWindow, ipcMain } = require('electron');
const path = require('path');
const url = require('url');
const scraper = require('./scraper.js');
const helpers = require('./electron/helpers.js');
const windowStateKeeper = require('electron-window-state');
const { autoUpdater } = require("electron-updater");

require('v8-compile-cache');
// for nodemon
process.env.IS_DEV ? require('electron-reload') : null;
// disable security warning
process.env['ELECTRON_DISABLE_SECURITY_WARNINGS'] = 'true';

// Application already running, so we close now
if (!app.requestSingleInstanceLock()) {
  app.quit()
}

app.removeAllListeners('ready');

let mainWindow
function createWindow() {
  // check for uppdate
  autoUpdater.checkForUpdatesAndNotify();

  // Load the previous state with fallback to defaults
  let mainWindowState = windowStateKeeper({
    defaultWidth: 1100,
    defaultHeight: 600
  });
  mainWindow = new BrowserWindow({
    'x': mainWindowState.x,
    'y': mainWindowState.y,
    'width': mainWindowState.width,
    'height': mainWindowState.height,
    minWidth: 1100,
    minHeight: 500,
    backgroundColor: '#121212',
    frame: false,
    icon: __dirname + '../build/icon.png',
    webPreferences: {
      webSecurity: false,
      nodeIntegration: true,
      webviewTag: true
    },
  });
  // Let us register listeners on the window, so we can update the state
  // automatically (the listeners will be removed when the window is closed)
  // and restore the maximized or full screen state
  mainWindowState.manage(mainWindow);

  // http://localhost:3000
  const startUrl = process.env.ELECTRON_START_URL || url.format({
    pathname: path.join(__dirname, '../build/index.html'),
    protocol: 'file:',
    slashes: true,
  });

  mainWindow.loadURL(startUrl);
  // in dev mode
  if (process.env.ELECTRON_START_URL) {
    // open devTools
    mainWindow.webContents.openDevTools({ mode: 'undocked' });
  }
  // in build mode
  if (process.env.IS_DEV) {
    // close menubar
    mainWindow.setMenuBarVisibility(false);
  }

  //clear session + cookies on start to avoid blocking requests
  mainWindow.on('closed', () => {
    mainWindow = null
  });

  mainWindow.webContents.on('new-window', function (e, url) {
    e.preventDefault();
  })

  // Add React Devtool
  if (app.isReady() && process.env.ELECTRON_START_URL) {
    console.log('___INSTALL React Devtool_____')
    BrowserWindow.addDevToolsExtension("./extensions/react")
      .then(name => console.log('INSTALLING', name))
      .catch(err => console.log('Install React-Devtool err', err));
  }
}
app.setAppUserModelId('com.MyMovies.app');
app.on('ready', createWindow);
app.on('window-all-closed', () => {
  app.quit();
})

Devtron-, React- und Redux-Erweiterungen können nicht in Browserfenstern installiert werden. Wenn jemand eine Problemumgehung kennt, würde er gerne hören.

[electron] Added Extension: React Developer Tools
[electron] Added Extension: Redux DevTools
[electron] [41948:0228/141801.424392:ERROR:CONSOLE(1)] "Uncaught TypeError: Cannot read[electron] [41948:0228/141801.424392:ERROR:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'panels' of undefined", source: chrome-extension://redux-devtools/js/devtools.bundle.js (1)
[electron] [41948:0228/141801.512131:ERROR:CONSOLE(40)] "Uncaught TypeError: Cannot read property 'inspectedWindow' of undefined", source: chrome-extension://react-developer-tools/build/main.js (40)
[electron] Unable to create basic Accelerated OpenGL renderer.
[electron] Unable to create basic Accelerated OpenGL renderer.
[electron] Core Image is now using the software OpenGL renderer. This will be slow.

@ stevenroussey-privicy Wir können React- und Redux-Erweiterungen in unseren Apps über das Paket Electron-Devtools-Installer von @MarshallOfSound (dank ihm 🙏) installieren , aber Devtools werden manchmal nicht mit der gleichen Art von Fehler angezeigt. .

[35280:0324/122320.140:ERROR:CONSOLE(1)] "Uncaught TypeError: Cannot read property 'panels' of undefined", source: chrome-extension://redux-devtools/js/devtools.bundle.js (1)
[35280:0324/122320.233:ERROR:CONSOLE(40)] "Uncaught TypeError: Cannot read property 'inspectedWindow' of undefined", source: chrome-extension://react-developer-tools/build/main.js (40)

Es fühlt sich so an, als würden Erweiterungsregisterkarten erstellt, nachdem Erweiterungen in BrowserWindow geladen wurden. Der einzige Fehler, den ich im Backend sehe, hängt mit dem Chrome-Speicher zusammen, ist aber wahrscheinlich nicht die Ursache des Problems.

Exception has occurred: Error
Error: ENOENT: no such file or directory, open "\AppData\Roaming\AppName\Chrome Storage\redux-devtools-sync.json"

Wir eröffnen Devtools für das Event did-frame-finish-load

win.webContents.on('did-frame-finish-load', () => {
  win.webContents.openDevTools();
});

Wir verwenden dieselbe Installationsmethode. Es wird gut installiert, läuft aber nicht. Gleiche Fehler. Selbst wenn ich die devtools manuell öffne, ist dies dort kein Zeitproblem.

Wir verwenden ein Begrüßungsfenster. Soweit ich das beurteilen kann, funktioniert es im ersten erstellten Fenster einwandfrei, schlägt jedoch bei anderen Fenstern fehl. Kann jemand anderes überprüfen?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen